Last active
December 25, 2024 10:45
-
-
Save NemoAlex/c3eed2d4266fbdf8f291effc1236ae05 to your computer and use it in GitHub Desktop.
vx.link 证书更新脚本。把证书下载到本地,再上传到服务器上,支持多个服务器。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# 定义要下载的文件的URL | |
FILE1_URL="http://lab.vx.link/ssl/xxxxxxxxxxxxx.key" | |
FILE2_URL="http://lab.vx.link/ssl/xxxxxxxxxxxxx.crt" | |
# 创建临时目录并定义本地保存路径 | |
TEMP_DIR=$(mktemp -d) | |
trap 'rm -rf "$TEMP_DIR"' EXIT # 脚本结束时自动清理临时目录 | |
# 定义服务器信息,格式为 "用户名@服务器名:路径:reload命令" | |
SERVERS=( | |
"root@server_1:/etc/nginx/ssl/xxx.com.key:nginx -s reload" | |
"root@server_2:/etc/nginx/ssl/xxx.com.key:nginx -s reload" | |
) | |
# 下载文件 | |
curl -o "$TEMP_DIR/server.key" "$FILE1_URL" | |
curl -o "$TEMP_DIR/server.crt" "$FILE2_URL" | |
# 遍历服务器 | |
for SERVER in "${SERVERS[@]}"; do | |
# 使用 IFS 分割字符串 | |
IFS=':' read -r SERVER_INFO TARGET_PATH RELOAD_CMD <<< "$SERVER" | |
echo "正在处理服务器: $SERVER_INFO" | |
# 上传并重命名 | |
scp "$TEMP_DIR/server.key" "$SERVER_INFO:$TARGET_PATH" | |
scp "$TEMP_DIR/server.crt" "$SERVER_INFO:${TARGET_PATH%.key}.crt" | |
# Reload 命令 | |
ssh $SERVER_INFO "$RELOAD_CMD" | |
done | |
echo "证书已成功更新" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment