Глядя на /etc/cron.d/certbot
, я не думаю, что это произойдет! В этом файле есть строка:
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew
и, если я не ошибаюсь, обновление произойдет только при наличии читаемого исполняемого файла. файл с именем /usr/bin/certbot
(есть) И, если есть не, каталог с именем /run/systemd/system
(но есть, хотя Пусто).
Так я прав и бит certbot -q renew
никогда не будет работать? Возможно, есть еще что-то, что также вызывает обновление? (Я подумал, что в /run/systemd/system
может быть что-то, потому что это проверяется, но, как я уже сказал, этого нет. Из любопытства, почему этот маленький скриптпроверяет наличие отсутствие /run/systemd/system
?)
Работает последний certbot
(v1.18.0, установлен вчера с использованием официальных инструкций) в Ubuntu 18.04.
Кстати, я выполнил:
test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot renew --dry-run
от имени пользователя root в командной строке и немедленно завершает работу со статусом выхода 1
Если система использует systemd
, она будет работать как системный сервис, запускаемый временем.
Если вы запустите systemctl status certbot.timer
, вы получите статус службы, которая запускает certbot
из systemd.
Вот почему сценарий cron настроен так, чтобы не запускать обновление, если на компьютере обнаружен systemd.