Задача Cron не запускается

У меня есть эта задача crontab:

$ sudo crontab -l  -u root
0 22 * * * certbot renew --cert-name app.my_website123.net --pre-hook "systemctl nginx stop" --post-hook "systemctl nginx start" >> /home/my_user/cron_log1.log 2>&1

Для обновления certbot требуется root.

Файл журнала все еще не существует, через несколько дней, что означает, что задача не выполняется. Это почему?

1 ответ

Ваш crontab запись выглядит хорошо, с одним возможным исключением: certbot вероятно должен иметь полную спецификацию пути. Например:

0 22 * * * /path/to/certbot .....

Если это не решит проблему, нам потребуется дополнительная информация. Я подозреваю, что проблема заключается в окружающей среде, но мы должны спросить cron какая среда была создана для root пользователь. Мы можем сформулировать наш вопрос следующим образом:

  • Создайте сценарий оболочки в вашем домашнем каталоге (~/) следующим образом (или с редактором по вашему выбору):
$ nano ~/envtst.sh
  • Введите следующее в редакторе после настройки для вашей системы / пользователя:
#!/bin/sh 
/bin/echo "env report follows for user "$USER >> /home/you/envtst.sh.out 
/usr/bin/env >> /home/you/envtst.sh.out 
/bin/echo "env report for user "$USER" concluded" >> /home/you/envtst.sh.out
/bin/echo " " >> /home/you/envtst.sh.out
  • Сохраните файл, выйдите из редактора и установите права доступа к файлу как исполняемые.
$ chmod a+rx ~/envtst.sh
  • Запустите только что созданный скрипт и просмотрите результат в /home/you/envtst.sh.out, Этот вывод покажет вашу текущую среду как $USER Вы вошли как:
$ ./envtst.sh $$ cat /home/you/envtst.sh.out
  • Открыть свой crontab для редактирования:
$ crontab -e -u root
  • Введите следующую строку в нижней части вашего crontab:
* * * * *  /home/you/envtst.sh >> /home/you/envtst.sh.err 2>&1

Выходной файл /home/you/envtst.sh.out будет содержать список environment для "пользователя root cron". Как только вы это знаете, настройте crontab запись для certbot соответственно. Опубликовать вывод здесь, если вопросы остались.

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