我有一台 CentOS 5.5 x64 服务器,该服务器在午夜使用 rsync 镜像 NetGear ReadyNAS Everynight。我需要一种方法来在备份失败时收到警报。
我的用户 cron 中有这个。它确实运行良好。
0 0 * * * /usr/bin/grsync-batch -f /home/user/jobname.grsync 2>&1 > /home/user/logfile
我没有将 rsync 作为守护进程运行,因此我认为我无法指定 syslog。我有一个托管系统服务器,如果我知道要告诉它查找什么错误,它可以监视 SNMP 警报和 syslogs 事件。我通过检查 postfix 和 amavis 是否正在运行并接受连接来监控我的邮件服务器,如果没有,我运行“logger -p mail.info 'whatever error here'”,然后监控服务器每小时检查一次日志,如果日志中有,它会向所有人发出警报。如果我可以在脚本中执行类似操作,那就没问题了。
当 rsync 遇到错误时其他人如何提醒自己?
谢谢,
答案1
创建一个由 cron 调用的 shell 脚本。在该 shell 脚本中,放置 grsync-batch 命令(以及选项)....
grsync-batch ... > logfile 2>&1
if [ "$?" -ne "0" ]; then
mail -s "rsync error" [email protected] < logfile
fi
$? 是最后一个命令的退出代码。0 通常表示成功,其他值表示发生错误。
rsync 手册页(退出值在底部)