У меня есть команда 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/
который не запустит команду rsync, если компакт-диск не удастся, что должно быть, если источник не существует.
Если вы хотите, чтобы он потерпел неудачу
0 0 * * * [ -e /media/VIDEOS ] && rsync -av --delete /media/VIDEOS/ /media/lacie1/backup/videos/
Создается впечатление, что вы делаете полуночную резервную копию своего настольного компьютера, а демон cron рассылает вам спам о сбое резервного копирования.
Простым и грубым решением было бы отключить cron, что можно сделать двумя способами:
0 0 * * * rsync ..> / dev / null 2> & 1
Это перенаправит stdout и stderr на / dev / null .. от cron не будет почты
Другое решение - определить пустой адрес электронной почты с помощью MAILTO
MAILTO = корень
0 0 * * * скрипт1
ПОЧТА =
0 0 * * * rsync ..
Это также должно заглушить сценарий.