如果源不可访问,则停止rsync

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

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

有没有办法停止rsync命令运行,如果源不可访问(即:不在线/挂载)?

你可以试试

 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/ 

Souds喜欢你正在做你的桌面计算机的午夜备份,你正在被cron守护进程垃圾邮件关于失败的备份。

简单和粗略的解决scheme是沉默cron,这可以通过两种方式来完成:

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

这将把stdout和stderrredirect到/ dev / null ..没有来自cron的邮件

另一个解决scheme是用MAILTO定义一个空的电子邮件

MAILTO =根

0 0 * * * script1

MAILTO =

0 0 * * * rsync ..

这也应该使脚本保持沉默。