添加 clash_sync.sh 脚本以下载和备份 Clash 配置文件
This commit is contained in:
47
clash_sync.sh
Executable file
47
clash_sync.sh
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
|
||||
# 定义日志函数,用于输出带有时间戳的日志
|
||||
log() {
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO] $1"
|
||||
}
|
||||
|
||||
# 定义常量
|
||||
URL="https://0e25b110.ghelper.me/subs/clash/88602cf20e25b1105f3ba0a433c1a35b"
|
||||
CLASH_FILE="./index/proxy/clash.yml"
|
||||
BACKUP_FILE="./index/proxy/clash_last.yml"
|
||||
|
||||
log "开始下载 Clash 配置文件..."
|
||||
|
||||
# 确保目标目录存在
|
||||
mkdir -p "$(dirname "$CLASH_FILE")" 2>/dev/null
|
||||
log "目录 $(dirname "$CLASH_FILE") 存在。"
|
||||
|
||||
# 尝试下载文件
|
||||
if curl -sS --fail -o "$CLASH_FILE" "$URL"; then
|
||||
log "Clash 配置文件下载成功。"
|
||||
|
||||
# 设置权限为 777
|
||||
chmod 777 "$CLASH_FILE"
|
||||
log "设置文件 $CLASH_FILE 权限为 777。"
|
||||
|
||||
# 复制为备份文件并设置权限
|
||||
cp -f "$CLASH_FILE" "$BACKUP_FILE"
|
||||
chmod 777 "$BACKUP_FILE"
|
||||
log "已将配置文件复制到备份文件 $BACKUP_FILE,并设置权限为 777。"
|
||||
|
||||
log "下载和备份操作已完成。"
|
||||
else
|
||||
log "下载失败,尝试从备份恢复..."
|
||||
|
||||
# 检查备份文件是否存在
|
||||
if [ -f "$BACKUP_FILE" ]; then
|
||||
cp -f "$BACKUP_FILE" "$CLASH_FILE"
|
||||
chmod 777 "$CLASH_FILE"
|
||||
log "已从备份文件 $BACKUP_FILE 恢复配置文件,并设置权限为 777。"
|
||||
else
|
||||
log "错误:备份文件 $BACKUP_FILE 不存在,无法恢复。"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
log "Clash 配置文件处理完成。"
|
||||
Reference in New Issue
Block a user