如何在 30 秒内安装自动 certbot/LetsEncrypt 续期

Let’s Encrypt 目前一次只颁发 3 个月的证书。对于许多用户来说,这要求自动续期 Let’s Encrypt 证书,然而许多关于在普通 Linux 服务器上安装自动续期的手册不必要地复杂。

我使用 TechOverflow 的简单 systemd 计时器生成器创建了基于 systemd-timer 的每日续期例程。

使用以下命令快速安装

install-renew-certbot.sh
wget -qO- https://techoverflow.net/scripts/install-renew-certbot.sh | sudo bash

这是自动创建和安装两个 systemd 配置文件的脚本。

install_renew_certbot_service.sh
#!/bin/sh
# 此脚本在基于 systemd 的系统上安装自动 certbot 续期。
# 它要求 certbot 已安装在 /usr/bin/certbot!
# 这需要使用 sudo 运行!

cat >/etc/systemd/system/RenewCertbot.service <<EOF
[Unit]
Description=RenewCertbot

[Service]
Type=oneshot
ExecStart=/usr/bin/certbot renew
WorkingDirectory=/tmp
EOF

cat >/etc/systemd/system/RenewCertbot.timer <<EOF
[Unit]
Description=RenewCertbot

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target
EOF

# 启用并启动服务
systemctl enable RenewCertbot.timer && sudo systemctl start RenewCertbot.timer

要查看日志,使用

journalctl_renewcertbot.sh
journalctl -xfu RenewCertbot.service

要查看状态,使用

systemctl_status_renewcertbot.sh
sudo systemctl status RenewCertbot.timer

要立即运行续期,使用

systemctl_start_renewcertbot.sh
sudo systemctl start RenewCertbot.service

Check out similar posts by category: Linux, Nginx