В настоящее время я создаю сценарий резервного копирования, который использует экран для запуска задания резервного копирования с помощью rsync внутри сеанса экрана. Задания резервного копирования запускаются следующим образом.
экран -dmS резервное копирование / usr / bin / rsync ...
Как только задание rsync завершено, сеанс экрана автоматически завершается. Чтобы убедиться, что резервное копирование прошло успешно, я хотел бы проверить код выхода задания rsync, но, к сожалению, я действительно не знаю, как получить код выхода после закрытия экрана.
У кого-нибудь есть хорошая идея, как автоматически проверять, было ли задание rsync успешным или нет?
Было бы здорово, если бы кто-нибудь это сделал.
Я уже думал об использовании временного файла, но вот так:
screen -dmS myScreen "rsync -av ...; echo $?> / tmp / myExitCode", но это, к сожалению, не работает. Затем я подумал об использовании stderr, как в примере ниже:
экран -dmS myScreen "rsync -av ...> 2 / tmp / rsync-sterr
Пока ни одна из моих идей не реализовалась, поскольку stderr не записывается, когда я использую приведенную выше команду. :-(?
Было бы здорово, если бы у кого-то была хорошая идея или даже решение.
Привет,
Беттина
Проходить sh -c "commands"
на экран, если вы хотите использовать перенаправление и тому подобное:
screen -dmS name sh -c '{ rsync -av ... 2>&1; echo $?; } >~/rsync-status'
Кроме того, это fd>file
не >fd file
. Чтобы перенаправить stderr, вы должны использовать 2>foo
.