chat / sync_now.sh
JerryZhouYG's picture
Create sync_now.sh
102eadc verified
raw
history blame
1.67 kB
#!/bin/bash
echo "=== 手动同步启动: $(date '+%Y-%m-%d %H:%M:%S') ===" | tee -a /tmp/sync_log.txt
# 拉取最新代码
echo "更新仓库数据..." | tee -a /tmp/sync_log.txt
cd ./data/github_data
git pull origin main 2>&1 | tee -a /tmp/sync_log.txt
cd ../..
# 复制数据库文件
if [ -f "./data/webui.db" ]; then
cp ./data/webui.db ./data/github_data/webui.db
echo "数据库复制完成。" | tee -a /tmp/sync_log.txt
else
echo "未找到 webui.db 数据库文件,跳过 GitHub 同步" | tee -a /tmp/sync_log.txt
fi
# 提交并推送到 GitHub
cd ./data/github_data
if [[ -n $(git status -s) ]]; then
git add webui.db
git commit -m "Manual sync $(date '+%Y-%m-%d %H:%M:%S')" | tee -a /tmp/sync_log.txt
git push origin HEAD 2>&1 | tee -a /tmp/sync_log.txt
echo "GitHub 推送成功" | tee -a /tmp/sync_log.txt
else
echo "GitHub: 没有检测到变更" | tee -a /tmp/sync_log.txt
fi
cd ..
cd ..
# WebDAV 同步
if [ -z "$WEBDAV_URL" ] || [ -z "$WEBDAV_USERNAME" ] || [ -z "$WEBDAV_PASSWORD" ]; then
echo "WebDAV 环境变量缺失,跳过 WebDAV 同步。" | tee -a /tmp/sync_log.txt
else
echo "同步到 WebDAV..." | tee -a /tmp/sync_log.txt
FILENAME="webui_$(date +'%m_%d').db"
if [ -f "./data/webui.db" ]; then
curl -T ./data/webui.db --user "$WEBDAV_USERNAME:$WEBDAV_PASSWORD" "$WEBDAV_URL/$FILENAME" 2>&1 | tee -a /tmp/sync_log.txt
echo "WebDAV 上传完成" | tee -a /tmp/sync_log.txt
else
echo "未找到 webui.db,跳过 WebDAV 同步" | tee -a /tmp/sync_log.txt
fi
fi
echo "=== 手动同步完成: $(date '+%Y-%m-%d %H:%M:%S') ===" | tee -a /tmp/sync_log.txt