Điểm:0

Làm cách nào để khắc phục sự cố cron/bộ đếm thời gian của Ubuntu Certbot?

lá cờ us
lsb_release -a
Không có mô-đun LSB nào khả dụng.
ID nhà phân phối: Ubuntu
Mô tả: Ubuntu 20.04.2 LTS
Phát hành: 20.04
Tên mã: tiêu cự

và đã cài đặt certbot qua apt-get

Vấn đề của tôi là đây là lần thứ hai chứng chỉ hết hạn và cron (cũng là dịch vụ systemd) do certbot cài đặt không hoạt động.

Tôi thấy tập tin này được tạo ra:

/lib/systemd/system/certbot.timer

[Đơn vị]
Mô tả=Chạy certbot hai lần mỗi ngày

[Hẹn giờ]
OnCalendar=*-*-* 00,12:00:00
RandomizedDelaySec=43200
Kiên trì = đúng

[Cài đặt]
WantedBy=timers.target

/lib/systemd/system/certbot.service

[Đơn vị]
Mô tả=Certbot
Tài liệu=file:///usr/share/doc/python-certbot-doc/html/index.html
Tài liệu=https://letsencrypt.readthedocs.io/en/latest/
[Dịch vụ]
Loại=oneshot
ExecStart=/usr/bin/certbot -q gia hạn
RiêngTmp=true

/etc/cron.d/certbot

# /etc/cron.d/certbot: các mục nhập crontab cho gói certbot
#
# Upstream khuyên bạn nên thử gia hạn hai lần một ngày
#
# Cuối cùng, đây sẽ là cơ hội để xác thực chứng chỉ
# chưa bị thu hồi, v.v. Việc gia hạn sẽ chỉ xảy ra nếu hết hạn
# là trong vòng 30 ngày.
#
# Lưu ý quan trọng! Cronjob này sẽ KHÔNG được thực thi nếu bạn
# đang chạy systemd làm hệ thống init của bạn. Nếu bạn đang chạy systemd,
# chức năng cronjob.timer được ưu tiên hơn cronjob này. Vì
# biết thêm chi tiết, xem trang chủ systemd.timer hoặc sử dụng systemctl show
# certbot.bộ đếm thời gian.
VỎ =/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

0 */12 * * * kiểm tra gốc -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q gia hạn

Hệ thống init của tôi là systemctl:

[[ `systemctl` =~ -\.mount ]] && echo yes || tiếng vang không
Vâng

Tôi thấy có bộ đếm thời gian đã đăng ký:

 bộ hẹn giờ danh sách systemctl | grep 'chứng chỉ'
Thứ sáu 2022-03-25 17:36:31 UTC 6 giờ còn lại Thứ sáu 2022-03-25 02:41:57 UTC 8 giờ trước certbot.timer certbot.service   

Tôi cũng đã thử kiểm tra các cuộc gọi hẹn giờ để xem liệu hẹn giờ certbot có được gọi vào lúc nửa đêm một ngày trước đó hay không:

journalctl --since "2 days ago" -u motd-news.timer 
-- Nhật ký bắt đầu vào Chủ Nhật 2021-09-26 19:26:36 UTC, kết thúc vào Thứ Sáu 2022-03-25 11:37:03 UTC. --
Ngày 25 tháng 3 09:54:16 ip-10-40-2-7 systemd[1]: motd-news.timer: Đã thành công.
Ngày 25 tháng 3 09:54:16 ip-10-40-2-7 systemd[1]: Tin nhắn trong ngày bị dừng.
-- Khởi động lại --
Ngày 25 tháng 3 09:54:55 ip-10-40-2-7 systemd[1]: Bắt đầu Tin nhắn trong ngày.
-- Khởi động lại --
Ngày 25 tháng 3 09:59:11 ip-10-40-2-7 systemd[1]: Bắt đầu Tin nhắn trong ngày.
Ngày 25 tháng 3 10:06:38 ip-10-40-2-7 systemd[1]: motd-news.timer: Thành công.
Ngày 25 tháng 3 10:06:38 ip-10-40-2-7 systemd[1]: Tin nhắn trong ngày bị dừng.
-- Khởi động lại --
Ngày 25 tháng 3 10:08:45 ip-10-40-2-7 systemd[1]: Bắt đầu Tin nhắn trong ngày.

Tôi không hiểu tại sao lệnh gia hạn certbot cron/timer này không bao giờ được gọi hoặc được gọi và xảy ra lỗi (vì điều này tôi cần thông tin để kiểm tra nhật ký).

Điểm:0
lá cờ ru

cái này hiệu quả với tôi

Hệ thống của bạn không sử dụng cron, vì vậy hãy bỏ qua điều đó, đó là systemd.

certbot.timer:

[Đơn vị]
Mô tả=Hẹn giờ gia hạn Certbot

[Hẹn giờ]
OnBootSec=300
OnUnitActiveSec=1d

[Cài đặt]
WantedBy=timers.target

certbot.service:

[Đơn vị]
Mô tả=Hãy mã hóa gia hạn
Muốn=mạng.mục tiêu
Sau=mạng.mục tiêu

[Dịch vụ]
Loại=oneshot
ExecStart=/usr/bin/certbot gia hạn --quiet --agree-tos
ExecStartPost=/bin/systemctl tải lại nginx.service
ExecStartPost=/bin/systemctl tải lại postfix.service
ExecStartPost=/bin/systemctl tải lại dovecot.service

Tôi cũng thấy bạn đã khởi động lại máy tính của mình một vài lần, nhưng bạn cũng đang xem motd-news.timer. Vì vậy, bạn sẽ không thấy bất cứ điều gì về bộ đếm thời gian của certbot!

lá cờ us
Cảm ơn @Alex vậy tôi nên xem lệnh journalctl để xem chỉ certbot
lá cờ ru
`sudo tạp chí -u certbot`
lá cờ us
Cảm ơn vì vậy có vẻ như nó đã chạy nhưng không thành công `24 tháng 3 11:29:35 ip-10-40-2-7 certbot[1842612]: Tất cả các lần gia hạn đều thất bại. Không thể gia hạn các chứng chỉ sau: ` Tôi không thể xem thêm thông tin tại sao nó không thành công
lá cờ ru
Hãy thử `sudo certbot refresh` và xem thông báo lỗi là gì.
lá cờ ru
Ngoài ra, có một tệp nhật ký trong `/var/log/letsencrypt/` trên hầu hết các hệ thống.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.