Назад | Перейти на главную страницу

остановить 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/

который не запустит команду 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 ..

Это также должно заглушить сценарий.