Puncte:0

Cum să depanați Ubuntu Certbot cron/timer?

drapel us
lsb_release -a
Nu sunt disponibile module LSB.
ID distribuitor: Ubuntu
Descriere: Ubuntu 20.04.2 LTS
Lansare: 20.04
Nume de cod: focal

și au instalat certbot prin apt-get

Problema mea este că este a doua oară când certificatele expiră și cron (de asemenea, serviciul systemd) instalat de certbot nu funcționează.

Vad acest fisier creat:

/lib/systemd/system/certbot.timer

[Unitate]
Description=Rulează certbot de două ori pe zi

[Temporizator]
OnCalendar=*-*-* 00,12:00:00
RandomizedDelaySec=43200
Persistent=adevarat

[Instalare]
WantedBy=timers.target

/lib/systemd/system/certbot.service

[Unitate]
Descriere=Certbot
Documentation=file:///usr/share/doc/python-certbot-doc/html/index.html
Documentație=https://letsencrypt.readthedocs.io/en/latest/
[Serviciu]
Type=onehot
ExecStart=/usr/bin/certbot -q renew
PrivateTmp=adevărat

/etc/cron.d/certbot

# /etc/cron.d/certbot: intrări crontab pentru pachetul certbot
#
# Upstream recomandă încercarea de reînnoire de două ori pe zi
#
# În cele din urmă, aceasta va fi o oportunitate de a valida certificatele
# nu au fost revocate etc. Reînnoirea va avea loc numai dacă expiră
# este în termen de 30 de zile.
#
# Notă importantă! Acest cronjob NU va fi executat dacă sunteți
# rulează systemd ca sistem init. Dacă rulați systemd,
# funcția cronjob.timer are prioritate față de acest cronjob. Pentru
# mai multe detalii, consultați pagina de manual systemd.timer sau utilizați systemctl show
# certbot.timer.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

0 */12 * * * test rădăcină -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew

Sistemul meu init este systemctl:

[[ `systemctl` =~ -\.mount ]] && echo da || ecou nr
da

Văd acolo un cronometru înregistrat:

 systemctl list-timers | grep 'cert'
Vineri 25-03-2022 17:36:31 UTC Mai sunt 6 ore Vin 25-03-2022 02:41:57 UTC Acum 8 ore certbot.timer certbot.service   

Am încercat, de asemenea, să verific apelurile cu timer pentru a vedea dacă certbot timer a fost sunat la miezul nopții cu o zi înainte:

journalctl --din „acum 2 zile” -u motd-news.timer 
-- Jurnalele încep la duminica 26-09-2021 19:26:36 UTC, se termină la vineri 25-03-2022 11:37:03 UTC. --
Mar 25 09:54:16 ip-10-40-2-7 systemd[1]: motd-news.timer: Succeeded.
25 mar 09:54:16 ip-10-40-2-7 systemd[1]: Mesaj oprit al zilei.
-- Reporniți --
25 mar 09:54:55 ip-10-40-2-7 systemd[1]: Mesajul început al zilei.
-- Reporniți --
25 mar 09:59:11 ip-10-40-2-7 systemd[1]: Mesajul zilei început.
Mar 25 10:06:38 ip-10-40-2-7 systemd[1]: motd-news.timer: Succeeded.
25 mar 10:06:38 ip-10-40-2-7 systemd[1]: Mesaj oprit al zilei.
-- Reporniți --
25 mar 10:08:45 ip-10-40-2-7 systemd[1]: Mesajul zilei început.

Nu înțeleg de ce comanda certbot renew acest cron/timer nu este niciodată apelat sau este apelat și ceva nu reușește (pentru asta am nevoie de informații unde să verific jurnalele).

Puncte:0
drapel ru

Acest lucru funcționează pentru mine

Sistemul dvs. nu folosește cron, așa că ignorați asta, este systemd.

certbot.timer:

[Unitate]
Descriere=Temporizator pentru reînnoirea Certbot

[Temporizator]
OnBootSec=300
OnUnitActiveSec=1d

[Instalare]
WantedBy=timers.target

certbot.service:

[Unitate]
Description=Să criptăm reînnoirea
Wants=network.target
După=rețea.țintă

[Serviciu]
Type=onehot
ExecStart=/usr/bin/certbot renew --quiet --agree-tos
ExecStartPost=/bin/systemctl reîncărcați nginx.service
ExecStartPost=/bin/systemctl reîncărcați postfix.service
ExecStartPost=/bin/systemctl reîncărcați dovecot.service

De asemenea, văd că ați repornit computerul de câteva ori, dar vă uitați și la motd-news.timer. Deci nu veți vedea nimic despre temporizatorul certbot!

drapel us
Mulțumesc @Alex, așa că la ce ar trebui să mă uit în jurnalctl de comandă pentru a vedea numai certbot
drapel ru
`sudo journalctl -u certbot`
drapel us
Mulțumesc, așa că se pare că a rulat, dar nu a reușit `Mar 24 11:29:35 ip-10-40-2-7 certbot[1842612]: Toate încercările de reînnoire au eșuat. Următoarele certificate nu au putut fi reînnoite: ` Nu mai văd informații de ce a eșuat
drapel ru
Încercați `sudo certbot renew` și vedeți care este mesajul de eroare.
drapel ru
De asemenea, există un fișier jurnal în `/var/log/letsencrypt/` pe majoritatea sistemelor.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.