共计 2249 个字符,预计需要花费 6 分钟才能阅读完成。
手动挡:第一步:curl https://get.acme.sh | sh; apt install socat -y || yum install socat -y; ~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
第二步:~/.acme.sh/acme.sh --issue -d dm.wildwolves.top --standalone -k ec-256 --force --insecure
第三步:~/.acme.sh/acme.sh --install-cert -d dm.wildwolves.top --ecc --key-file /etc/x-ui/server.key --fullchain-file /etc/x-ui/server.crt
目标实现自动化脚本,每个月都执行一次
1. 创建自动化脚本
首先,登录到你的 Ubuntu VPS,使用文本编辑器(如 nano 或 vim)创建一个脚本文件,例如命名为 xui_cert_renew.sh:
第一步:在终端(命令行)手动执行以下命令,强制重置绑定的邮箱
(这步只需执行一次,相当于给 acme.sh 重新上户口):
curl https://get.acme.sh | sh -s email=941379218@qq.com
第二步:修改你的自动化脚本,让它变得更纯粹
既然邮箱已经全局绑定好了,我们就不需要在每次更新证书时再执行注册账号的命令了。请 nano /root/xui_cert_renew.sh,把内容替换成下面这个最干净的版本:
#!/bin/bash
# 遇到错误即停止执行
set -e
echo "==================================="
echo "开始执行 x-ui 证书更新任务: $(date)"
echo "==================================="
# 第一步:安装基础依赖
apt update && apt install socat -y
# 第二步:设置默认 CA 为 Let's Encrypt
/root/.acme.sh/acme.sh --set-default-ca --server letsencrypt
# 第三步:强制重新申请证书 (直接申请,不再管账号注册的事)
/root/.acme.sh/acme.sh --issue -d bwg.aizylo.com --standalone -k ec-256 --force --insecure
# 第四步:安装证书到 x-ui 目录
/root/.acme.sh/acme.sh --install-cert -d bwg.aizylo.com --ecc \
--key-file /etc/x-ui/server.key \
--fullchain-file /etc/x-ui/server.crt
# 第五步:重启 x-ui 面板,使新证书生效
systemctl restart x-ui
echo "==================================="
echo "证书更新成功,x-ui 面板已重启!"
echo "==================================="
保存退出后,最后再手动运行一次测试:
/root/xui_cert_renew.sh
3. 赋予脚本执行权限:
chmod +x /root/xui_cert_renew.sh
4. 设置定时任务:
crontab -e
在底部添加如下内容:(每月 1 号 3 点执行)
0 3 1 * * /root/xui_cert_renew.sh >> /root/xui_cert_renew.log 2>&1
5. 检查与验证:
• 确认定时任务是否存在: crontab -l
• 模拟运行脚本(测试是否报错): /root/xui_cert_renew.sh
• 查看证书到期时间: ~/.acme.sh/acme.sh –list
💡 小贴士:
你在保存这个脚本并在那台 报错的新服务器 上模拟运行 (/root/xui_cert_renew.sh) 时,一定要记得先把脚本里的 your_email@gmail.com 换成你自己的邮箱,以及把 dm.wildwolves.top 换成你新服务器对应的域名。
如何查看当前自动化脚本>
想要查看你目前设置的自动化脚本,主要有以下几种方法,取决于你是只想 看一眼内容 ,还是想 进入编辑界面:
方法一:直接在终端打印查看(推荐,最安全)
如果你只是想看看脚本里面写了什么,最快且最安全的方法是使用 cat 命令。它会直接把文件的内容全部打印在屏幕上,不用担心不小心改错代码。
在终端输入以下命令并回车:
cat /root/xui_cert_renew.sh
方法二:使用文本编辑器查看(适合需要修改时)
如果你看完之后发现需要修改里面的某些内容(比如换个邮箱或者域名),可以使用咱们之前用过的 nano 编辑器打开它:
nano /root/xui_cert_renew.sh
💡 温馨提示:如果只是进去看一眼,看完后直接按键盘上的 Ctrl + X 即可安全退出。
补充:如何查看“定时任务”本身?
有时候我们说的“自动化脚本”,也可能指的是 触发这个脚本的定时开关。如果你想确认一下每个月 1 号凌晨 3 点执行的那个任务还在不在,可以输入:
crontab -l
这会列出你目前系统里所有的定时任务(就像你之前发给我的最后几张截图里显示的那样)。你应该能在列表里找到带有 /root/xui_cert_renew.sh 的那一行。
你可以先用 cat 命令看一下脚本内容,确认是不是咱们最后确定的那个最干净的版本!