Рейтинг:0

Как устранить неполадки cron/timer Ubuntu Certbot?

флаг us
lsb_release -a
Нет доступных модулей LSB.
Идентификатор дистрибьютора: Ubuntu
Описание: Ubuntu 20.04.2 LTS
Релиз: 20.04
Кодовое название: фокальный

и установил certbot через apt-get

Моя проблема в том, что срок действия сертификатов истекает во второй раз, а cron (также служба systemd), установленная certbot, не работает.

Я вижу, что этот файл создан:

/lib/systemd/system/certbot.timer

[Ед. изм]
Description=Запускать certbot два раза в день

[Таймер]
OnCalendar=*-*-* 00,12:00:00
RandomizedDelaySec=43200
Постоянный = истина

[Установить]
WantedBy=timers.target

/lib/systemd/система/certbot.service

[Ед. изм]
Описание=Certbot
Документация=файл:///usr/share/doc/python-certbot-doc/html/index.html
Документация=https://letsencrypt.readthedocs.io/en/latest/
[Оказание услуг]
Тип = ваншот
ExecStart=/usr/bin/certbot -q обновить
PrivateTmp=истина

/etc/cron.d/certbot

# /etc/cron.d/certbot: записи crontab для пакета certbot
#
# Upstream рекомендует делать попытку обновления два раза в день
#
# В конце концов, это будет возможность проверить сертификаты
# не был отозван и т. д. Продление произойдет только по истечении срока действия
# в течение 30 дней.
#
# Важная заметка! Это задание cron НЕ будет выполнено, если вы
# запуск systemd в качестве системы инициализации. Если вы используете systemd,
# функция cronjob.timer имеет приоритет над этим cronjob. За
# подробнее см. справочную страницу systemd.timer или используйте systemctl show
# certbot.timer.
ОБОЛОЧКА=/бин/ш
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q обновить

Моя система инициализации systemctl:

[[ `systemctl` =~ -\.mount ]] && эхо да || эхо нет
да

Вижу там прописан таймер:

 список-таймеры systemctl | grep 'сертификат'
Пт 2022-03-25 17:36:31 UTC 6ч осталось Пт 2022-03-25 02:41:57 UTC 8ч назад certbot.timer certbot.service   

Я также попытался проверить вызовы таймера, чтобы узнать, вызывался ли таймер certbot в полночь накануне:

journalctl --since "2 дня назад" -u motd-news.timer 
-- Журналы начинаются в воскресенье 2021-09-26 19:26:36 UTC, заканчиваются в пятницу 25-03-2022 11:37:03 UTC. --
25 марта, 09:54:16 ip-10-40-2-7 systemd[1]: motd-news.timer: успешно.
25 марта 09:54:16 ip-10-40-2-7 systemd[1]: сообщение дня остановлено.
-- Перезагрузить --
25 марта 09:54:55 ip-10-40-2-7 systemd[1]: запущено сообщение дня.
-- Перезагрузить --
25 марта, 09:59:11 ip-10-40-2-7 systemd[1]: запущено сообщение дня.
25 марта 10:06:38 ip-10-40-2-7 systemd[1]: motd-news.timer: успешно.
25 марта 10:06:38 ip-10-40-2-7 systemd[1]: сообщение дня остановлено.
-- Перезагрузить --
25 марта 10:08:45 ip-10-40-2-7 systemd[1]: запущено сообщение дня.

Я не понимаю, почему команда certbot renew этот cron/timer никогда не вызывается или вызывается и что-то не получается (для этого мне нужна информация, где проверить логи).

Рейтинг:0
флаг ru

Это работает для меня

Ваша система не использует cron, так что игнорируйте это, это systemd.

certbot.таймер:

[Ед. изм]
Description=Таймер для обновления Certbot

[Таймер]
OnBootSec=300
Онунитактивесек=1д

[Установить]
WantedBy=timers.target

certbot.service:

[Ед. изм]
Description=Продление Let’s Encrypt
Хочет=network.target
После=network.target

[Оказание услуг]
Тип = ваншот
ExecStart=/usr/bin/certbot обновить --quiet --agree-tos
ExecStartPost=/bin/systemctl перезагрузить nginx.service
ExecStartPost=/bin/systemctl перезагрузить postfix.service
ExecStartPost=/bin/systemctl перезагрузить dovecot.service

Я также вижу, что вы пару раз перезагружали свой компьютер, но вы также смотрите на motd-news.timer. Так что вы ничего не увидите о таймере certbot!

флаг us
Спасибо @Alex, так что мне нужно посмотреть в журнале команд, чтобы увидеть только certbot
флаг ru
`sudo journalctl -u certbot`
флаг us
Спасибо, кажется, он запустился, но не удалось `24 марта 11:29:35 ip-10-40-2-7 certbot[1842612]: Все попытки обновления не увенчались успехом. Не удалось обновить следующие сертификаты: ` Я больше не вижу информации, почему это не удалось
флаг ru
Попробуйте `sudo certbot renew` и посмотрите, что это за сообщение об ошибке.
флаг ru
Также в большинстве систем есть файл журнала в `/var/log/letsencrypt/`.

Ответить или комментировать

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