如果源不可访问则停止 rsync

如果源不可访问则停止 rsync

我有一个 rsync 命令,可以进行各种复制:

0 0  * * *  rsync -av --delete /media/VIDEOS/ /media/lacie1/backup/videos/

如果无法访问源(即:不在线/未安装),有没有办法停止 rsync 命令运行?

答案1

你可以尝试

0 0 * * * cd /media/VIDEOS/ && rsync -av --delete /media/VIDEOS/ /media/lacie1/backup/videos/

如果 cd 失败,则不会运行 rsync 命令,但如果源不存在,则应该运行。

如果你想让它悄无声息地失败

0 0 * * * [ -e /media/VIDEOS ] && rsync -av --delete /media/VIDEOS/ /media/lacie1/backup/videos/

答案2

这听起来就像您正在对您的台式计算机进行午夜备份,并且 cron 守护进程向您发送有关备份失败的垃圾邮件。

简单粗暴的解决方案就是让 cron 静音,可以通过两种方式实现:

0 0 * * * rsync .. > /dev/null 2>&1

这会将 stdout 和 stderr 重定向到 /dev/null。没有来自 cron 的邮件

另一个解决方案是使用 MAILTO 定义一个空电子邮件

MAILTO=root

0 0 * * * 脚本1

邮箱=

0 0 * * * rsync..

这也应该会使脚本静音。

相关内容