Ubuntu:更新 certbot 证书的 Cronjob
Ubuntu: Cronjob for renew certbot certificates
这就是我通过 docker 容器 (certbot) 更新我的 Let's encrypt 证书的方式:
$ sudo docker stop nginx
$ sudo docker run -it --rm -p 443:443 --name certbot -v /etc/letsencrypt:/etc/letsencrypt -v /var/log/letsencrypt:/var/log/letsencrypt quay.io/letsencrypt/letsencrypt:latest renew
$ sudo docker start nginx
现在我想在我的 Ubuntu 服务器上以 cronjob 的形式执行此操作。为此,我会在 /etc/crontab
.
中添加一个条目
但是我应该把更新的脚本放在哪里呢?
letsencrypt.sh
#!/bin/sh
sudo docker stop nginx
sudo docker run -it --rm -p 443:443 --name certbot -v /etc/letsencrypt:/etc/letsencrypt -v /var/log/letsencrypt:/var/log/letsencrypt quay.io/letsencrypt/letsencrypt:latest renew
sudo docker start nginx
如果这是正确的,如果过程失败/成功,您会建议得到什么注释?
我认为您可以在新容器或您的 docker 主机中为 safe 用户创建一个 crontab,并添加一行,例如 (运行 a每月更新一次):
0 0 1 * * /path/to/letsencrypt.sh 2>> /var/log/letsencrypt.log
将用户添加到 docker 组。可以 运行 Docker 命令的用户对系统具有有效的 root 控制权。
仅将此权限授予受信任的用户。
这就是我通过 docker 容器 (certbot) 更新我的 Let's encrypt 证书的方式:
$ sudo docker stop nginx
$ sudo docker run -it --rm -p 443:443 --name certbot -v /etc/letsencrypt:/etc/letsencrypt -v /var/log/letsencrypt:/var/log/letsencrypt quay.io/letsencrypt/letsencrypt:latest renew
$ sudo docker start nginx
现在我想在我的 Ubuntu 服务器上以 cronjob 的形式执行此操作。为此,我会在 /etc/crontab
.
但是我应该把更新的脚本放在哪里呢?
letsencrypt.sh
#!/bin/sh
sudo docker stop nginx
sudo docker run -it --rm -p 443:443 --name certbot -v /etc/letsencrypt:/etc/letsencrypt -v /var/log/letsencrypt:/var/log/letsencrypt quay.io/letsencrypt/letsencrypt:latest renew
sudo docker start nginx
如果这是正确的,如果过程失败/成功,您会建议得到什么注释?
我认为您可以在新容器或您的 docker 主机中为 safe 用户创建一个 crontab,并添加一行,例如 (运行 a每月更新一次):
0 0 1 * * /path/to/letsencrypt.sh 2>> /var/log/letsencrypt.log
将用户添加到 docker 组。可以 运行 Docker 命令的用户对系统具有有效的 root 控制权。
仅将此权限授予受信任的用户。