rsync通过cron.如何启用日志记录?

前端之家收集整理的这篇文章主要介绍了rsync通过cron.如何启用日志记录?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用rsync将远程服务器备份到另一台计算机.

在cron.daily中我有一个文件

rsync -avz -e ssh root@example.com:/ /mybackup/

它使用公钥/私钥对进行登录.这似乎在大多数时候运作良好,但是,我(愚蠢地)只是通过查看我知道每天都在改变的一些重要文件(MysqL转储)上的日期来检查它.显然,该文件后可能会发生错误.

有时会失败.当我手动运行时,有时会发生“客户端重置”之类的事情.

记录它的最佳方法是什么,以便我可以确定它是否完成? cron日志不表示任何错误.我没有尝试过,但备份机上旧版CentOS上的rsync手册页没有显示–log-file选项.我想我可以用>重定向stdout但我真的不想知道每个文件.我只是想知道这一切是否有效..

谢谢

解决方法

我想你已经解决了自己的问题.如果将stdout和stderr重定向文件,则不会为每个rsync传输文件获取输出 – 只有在以详细(-v)模式运行时才会生成输出. rsync的默认行为是仅在发生错误生成输出.所以你可以这样做……
rsync ... > /var/log/rsync.log 2>&1

…并检查该文件以查看最近的rsync是否成功.我明确使用&gt ;,每次rsync运行时都会覆盖日志文件.

您还可以利用rsync在传输失败时以非零代码退出的事实,因此您可以这样:

rsync ... || echo "rsync Failed" | mail -s 'rsync falied' you@example.com

猜你在找的Linux相关文章