Files
o.nmgjg.com.cn/clash_sync.sh

48 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
# 定义日志函数,用于输出带有时间戳的日志
log() {
echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO] $1"
}
# 定义常量
URL="hhttps://zh.momobaby.org/download/clash/162f88213300da0054751916dad20c8f24911f6fc354790286ca4cc5548c7ee8?config_name=Config"
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
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 配置文件处理完成。"