我们有一项cron
作业正在运行从一个到另一个的rsync
文件。每天午夜运行。文件副本对我们来说至关重要,因此我们希望监控备份运行。我们想要监控两件事......server
host
cron
1. rsync run
2. Also would like to check whether it failed in the middle of the run .
请建议。
答案1
“监视 rsync 运行”是什么意思?你的意思是期间, 这时间结束,内存使用情况或者是其他东西?
无论如何,您或您的 IT 部门可能已经部署了一些监控系统,因此回答这个问题取决于情况是否如此。
假设没有监控系统,那么如果退出状态为 != 0,则只需向自己发送一封电子邮件。有多种方法可以做到这一点,我认为这超出了本答案的范围。
答案2
我通常编写 rsync 备份脚本(以及其他几种 cron 作业),以便它们在脚本开头(紧接该#!
行之后)具有如下所示的代码。
BNAME=$(basename "$0" .sh)
mkdir -p /var/log/cronjobs
LOGFILE="/var/log/cronjobs/$BNAME.log"
savelog $LOGFILE
exec &> $LOGFILE
date
结合rsync --verbose --stats ---progress
它可以很好地记录 rsync 作业所做的一切。
您可以使用tail -f
或监视进度tail -F
,但如果您想使用 或 查看日志文件,则less
必须使用less -r
或less -R