Сценарий Автоматического обновления с помощью Крона, Кодов выхода и Входа

Ну, это - общее поведение для программ при отладке, и не действительно преодолимое. Инициализация изменений переменных, существует больше доступной информации, процесс выполнения программы изменяется.

Или Вы получаете источник ls и выполняете его через другой отладчик, надеясь, что он покажет ошибку, или Вы пытаетесь найти ответ, обходное решение на других путях.

3
01.06.2013, 06:08
2 ответа

Рекомендуемый способ сделать это использует unattended-upgrades команда. Установка его проста:

apt-get install unattended-upgrades
dpkg-reconfigure unattended-upgrades

Это - все, что необходимо получить результаты того, что Вы предназначаете в своем сценарии крона. Нет никакой потребности изобрести велосипед.

Насколько Ваш сценарий и это являются сообщением об успехе, любой ненулевой код возврата считают отказом. Ваш сценарий полагает, что любые не1 успех. Нет никакой потребности проверить коды выхода вручную, именно это if делает.

if apt-get upgrade -y; then
    echo "$(date): Daily update successful" >> $captains_log
else
    echo "$(date): Daily update failed" >> $captains_log
fi

Когда оболочка имеет "команду, не найденную", код выхода 127 возвращается.

4
27.01.2020, 21:20
  • 1
    Спасибо jordanm. Ваш ответ не только помог мне найти лучший способ выполнить мою цель, у меня есть лучшее понимание кодов выхода и как использовать их. Я настроил непосещать-обновления, который ежедневно работает через cron и журналы к /var/log/unattended-upgrades.log. –  jason 01.06.2013, 01:31

apt-get в оболочке-searchpath кронов?

Это всегда - хорошая практика для использования полного пути для внешних команд в заданиях крона.

0
27.01.2020, 21:20
  • 1
    , но разве журнал не показал бы, что сценарий перестал работать? –  jason 01.06.2013, 00:12
  • 2
    @Jason Да, это должно в Вашем случае. В более трудных сценариях это более трудно определить, все же. –  Nils 01.06.2013, 22:12

Теги

Похожие вопросы