Score:0

วิธีแก้ปัญหา Ubuntu Certbot cron / timer

ธง 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 วันละสองครั้ง

[ตัวจับเวลา]
ในปฏิทิน=*-*-* 00,12:00:00
RandomizedDelaySec=43200
ถาวร = จริง

[ติดตั้ง]
WantedBy=timers.target

/lib/systemd/system/certbot.service

[หน่วย]
คำอธิบาย=Certbot
Documentation=file:///usr/share/doc/python-certbot-doc/html/index.html
เอกสาร=https://letsencrypt.readthedocs.io/en/latest/
[บริการ]
Type=วันช็อต
ExecStart=/usr/bin/certbot -q ต่ออายุ
PrivateTmp=จริง

/etc/cron.d/certbot

# /etc/cron.d/certbot: รายการ crontab สำหรับแพ็คเกจ certbot
#
# Upstream แนะนำให้พยายามต่ออายุวันละสองครั้ง
#
# ในที่สุด นี่จะเป็นโอกาสในการตรวจสอบใบรับรอง
# ยังไม่ได้ถูกเพิกถอน ฯลฯ การต่ออายุจะเกิดขึ้นก็ต่อเมื่อหมดอายุ
#ภายใน30วัน.
#
# โน๊ตสำคัญ! cronjob นี้จะไม่ถูกดำเนินการหากคุณเป็น
# ใช้ systemd เป็นระบบเริ่มต้นของคุณ หากคุณกำลังใช้งาน systemd
# ฟังก์ชัน cronjob.timer มีความสำคัญเหนือ cronjob นี้ สำหรับ
# รายละเอียดเพิ่มเติม ดูที่ systemd.timer manpage หรือใช้ systemctl แสดง
#certbot.timer.
SHELL=/ถัง/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

0 */12 * * * การทดสอบรูต -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q ต่ออายุ

ระบบเริ่มต้นของฉันคือ systemctl:

[[ `systemctl` =~ -\.mount ]] && echo ใช่ || เสียงสะท้อนไม่
ใช่

ฉันเห็นมีการลงทะเบียนตัวจับเวลา:

 ตัวจับเวลารายการ systemctl | grep 'ใบรับรอง'
ศุกร์ 2022-03-25 17:36:31 UTC เหลืออีก 6 ชั่วโมง ศุกร์ 2022-03-25 02:41:57 UTC 8 ชั่วโมงที่แล้ว certbot.timer certbot.service   

ฉันยังพยายามตรวจสอบการเรียกตัวจับเวลาเพื่อดูว่าตัวจับเวลา certbot ถูกเรียกตอนเที่ยงคืนของหนึ่งวันก่อนหน้าหรือไม่:

Journalctl --ตั้งแต่ "2 วันที่แล้ว" -u motd-news.timer 
-- บันทึกเริ่มในวันอาทิตย์ 2021-09-26 19:26:36 UTC สิ้นสุดในวันศุกร์ 2022-03-25 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 ต่ออายุ cron/timer นี้จึงไม่เคยเรียกหรือถูกเรียกและมีบางอย่างล้มเหลว (สำหรับสิ่งนี้ฉันต้องการข้อมูลที่จะตรวจสอบบันทึก)

Score:0
ธง ru

สิ่งนี้ใช้ได้สำหรับฉัน

ระบบของคุณไม่ได้ใช้ cron ดังนั้นอย่าสนใจมัน มันคือ systemd

certbot.timer:

[หน่วย]
คำอธิบาย=ตัวจับเวลาสำหรับการต่ออายุ Certbot

[ตัวจับเวลา]
OnBootSec=300
OnUnitActiveSec=1d

[ติดตั้ง]
WantedBy=timers.target

certbot.service:

[หน่วย]
คำอธิบาย=มาเข้ารหัสการต่ออายุกันเถอะ
ต้องการ=เครือข่าย.เป้าหมาย
หลังจาก = network.target

[บริการ]
Type=วันช็อต
ExecStart=/usr/bin/certbot ต่ออายุ --เงียบ --ตกลง
ExecStartPost=/bin/systemctl รีโหลด nginx.service
ExecStartPost=/bin/systemctl รีโหลด postfix.service
ExecStartPost=/bin/systemctl รีโหลด dovecot.service

ฉันยังเห็นคุณรีบูตเครื่องคอมพิวเตอร์สองสามครั้ง แต่คุณก็กำลังดูอยู่เช่นกัน motd-news.timer. ดังนั้นคุณจะไม่เห็นอะไรเกี่ยวกับตัวจับเวลาของ certbot!

us flag
ขอบคุณ @Alex ดังนั้นฉันควรจะดูในคำสั่ง journalctl เพื่อดูเฉพาะ certbot
ru flag
`sudo Journalctl -u certbot`
us flag
ขอบคุณ ดูเหมือนว่าจะทำงาน แต่ล้มเหลว `24 มี.ค. 11:29:35 ip-10-40-2-7 certbot[1842612]: ความพยายามในการต่ออายุทั้งหมดล้มเหลว ไม่สามารถต่ออายุใบรับรองต่อไปนี้: ` ฉันไม่เห็นข้อมูลอีกต่อไปว่าเหตุใดจึงล้มเหลว
ru flag
ลอง `sudo certbot ต่ออายุ` และดูว่าข้อความแสดงข้อผิดพลาดคืออะไร
ru flag
นอกจากนี้ยังมีล็อกไฟล์ใน `/var/log/letsencrypt/` ในระบบส่วนใหญ่

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา