Почему рабочий скрипт не выполняется как задание cron? [dубликат]

Unattended Upgrades использовать репозитории установленной версии

Все обновления загружаются из официальных репозиториев Ubuntu. Репозитории делятся по версиям релизов и ссылаются на их одноразовое имя. Например, Ubuntu 17.10 известен как Artful Aardvark. Репозиторий для 17.10 называется Artful.

Когда вы настраиваете Unattended Upgrades для Ubuntu 17.10 , в настройках вводится имя Artful. В настоящее время в Unattended Upgrades нет механизма для проверки новой версии и изменения всех настроек репозитория. Таким образом, Unattended Upgrades будет продолжать работать по-прежнему, когда выйдет новый релиз. Artful Aardvark

Это по дизайну. Когда новый выпуск выходит, возможно, что-то не работает. Эта информация содержится в «Заметках о выпуске», и вы должны прочитать их перед обновлением до новой версии.

Автоматические обновления не навсегда

Когда текущая версия достигает своего конец жизни Unattended Upgrades перестанет работать. Например, Ubuntu 17.10 завершит свою жизнь когда-нибудь в июле 2018 года. После этой даты будет больше обновлений и обновлений для Artful. Старые хранилища версий Ubuntu, которые достигли своего конца жизни, архивируются в Artful месте. Когда это произойдет, автоматические обновления перестанут работать.

Надеюсь, что это поможет

5
задан 30 March 2018 в 09:11

3 ответа

Одна из возможных причин заключается в том, что вы не используете абсолютные пути к командам, а некоторые из ваших команд не находятся в /usr/bin или /bin, которые по умолчанию принадлежат $PATH envvar в Cron.

Вы можете узнать, где находится каждый исполняемый файл ваших команд командой which, например which s3cmd. Затем вы можете поместить команды с их абсолютными путями в свой скрипт.

Другой подход - назначить новое значение для $PATH в вашем скрипте или в crontab: Почему скрипты crontab не работают? 2]

Вы можете перенаправить вывод своего Cronjob в файл для отладки, где проблема. Для этого измените свою работу следующим образом:

* * * * * /path/to/the-script >/path/to/log-file 2>&1

Кроме того, я предпочитаю использовать $HOME вместо ~ в сценариях.

4
ответ дан 22 May 2018 в 11:43

Одна из возможных причин заключается в том, что вы не используете абсолютные пути к командам, а некоторые из ваших команд не находятся в /usr/bin или /bin, которые по умолчанию принадлежат $PATH envvar в Cron.

Вы можете узнать, где находится каждый исполняемый файл ваших команд командой which, например which s3cmd. Затем вы можете поместить команды с их абсолютными путями в свой скрипт.

Другой подход - назначить новое значение для $PATH в вашем скрипте или в crontab: Почему скрипты crontab не работают?

Вы можете перенаправить вывод своего Cronjob в файл для отладки, где проблема. Для этого измените свою работу следующим образом:

* * * * * /path/to/the-script >/path/to/log-file 2>&1

Кроме того, я предпочитаю использовать $HOME вместо ~ в сценариях.

4
ответ дан 17 July 2018 в 17:53

Одна из возможных причин заключается в том, что вы не используете абсолютные пути к командам, а некоторые из ваших команд не находятся в /usr/bin или /bin, которые по умолчанию принадлежат $PATH envvar в Cron.

Вы можете узнать, где находится каждый исполняемый файл ваших команд командой which, например which s3cmd. Затем вы можете поместить команды с их абсолютными путями в свой скрипт.

Другой подход - назначить новое значение для $PATH в вашем скрипте или в crontab: Почему скрипты crontab не работают?

Вы можете перенаправить вывод своего Cronjob в файл для отладки, где проблема. Для этого измените свою работу следующим образом:

* * * * * /path/to/the-script >/path/to/log-file 2>&1

Кроме того, я предпочитаю использовать $HOME вместо ~ в сценариях.

4
ответ дан 23 July 2018 в 18:44

Другие вопросы по тегам:

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