如何在使用 LFTP 时检查服务器是否关闭或出现任何其他连接错误,然后在发生此类错误时发送电子邮件。
做了一些事情来让它工作。这是正确/最好的方法吗?
lftp -e "bye" -u $USER,$PASS $HOST 2> abc.log
if [ ! -s abc.log ]; then
echo "EMPTY"
else
mailx [email protected] < "Message"
echo "NOT EMPTY"
fi
答案1
“最佳”方法是尝试连接到 FTP 服务器(Nagios、OpenNMS、InterMapper 等)的真实监控系统——或者第三方远程解决方案(也有很多)。
有一个历史问题,答案基本上列出了一大堆工具这可能会有用,如果您选择一个看起来符合您需求的,我们可能会帮助您解决有关实施细节的任何问题。
您的解决方案作为快速修复确实“足够好”——我更愿意检查返回状态lftp
(请参阅手册页以获取可能的返回代码列表),但检查日志文件也足够了。
另外两个建议可以改进您的解决方案:
- 记得删除日志文件,并检查它是否作为脚本的一部分存在,
如果日志文件不存在,则说明出现了严重故障,这与服务器宕机是不同的问题。 - 解析日志并将该信息包含在您的消息中。
服务器宕机显然与用户名/密码无效是不同的问题,您可能希望以不同的方式处理它。