Files
ProjectAGiPrompt/35-黑苹果DELL/6-微信数据备份.md
2026-06-17 09:39:02 +08:00

2.7 KiB
Raw Blame History

替换 desktop_user 和台式机 IP

ssh-copy-id -i C:\Users\wddsh.ssh\id_ed25519.pub wdd@192.168.1.194

或手动追加ssh-copy-id 若不可用)

cat C:\Users\wddsh.ssh\id_ed25519.pub | ssh wdd@192.168.1.194
"mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

验证免密登录

ssh -i C:\Users\wddsh.ssh\id_ed25519 wdd@192.168.1.194 "echo SSH OK"

cat >> C:\Users\wddsh.ssh\config << 'EOF' Host wdd-pink-station HostName 192.168.1.194 User wdd IdentityFile C:\Users\wddsh.ssh\id_ed25519 ServerAliveInterval 60 ServerAliveCountMax 3 EOF chmod 600 ~/.ssh/config

验证简写连接

ssh wdd-pink-station "echo Connected"

#!/usr/bin/env bash set -euo pipefail

── 配置区 ────────────────────────────────────────────────

SRC="/c/Users/wddsh/Documents/xwechat_files" REMOTE_HOST="wdd-pink-station" # 对应 ~/.ssh/config 中的 Host REMOTE_DST="/c/Users/wdd/wechat_files/xwechat_files" LOG_DIR="/c/Users/wddsh/wechat_backup/logs" LOG_FILE="${LOG_DIR}/wechat_sync_$(date +%Y%m%d).log"

─────────────────────────────────────────────────────────

mkdir -p "$LOG_DIR"

log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" | tee -a "$LOG_FILE" }

log "======== 微信数据同步开始 ========"

── 检测微信是否运行 ──────────────────────────────────────

if tasklist.exe 2>/dev/null | grep -qi "Weixin.exe"; then log "警告:微信正在运行,跳过 db_storage数据库锁定中" EXCLUDE_DB="--exclude=db_storage/" else log "微信未运行,全量同步数据库" EXCLUDE_DB="" fi

── rsync 同步 ────────────────────────────────────────────

rsync -avz
--progress
--partial
--delete
--exclude="temp/"
--exclude="cache/"
--exclude="apm_record/"
--exclude="*.lock"
${EXCLUDE_DB}
-e "ssh -F ~/.ssh/config"
"${SRC}/"
"${REMOTE_HOST}:${REMOTE_DST}/"
2>&1 | tee -a "$LOG_FILE"

EXIT_CODE=${PIPESTATUS[0]} if [ $EXIT_CODE -eq 0 ]; then log "同步成功完成 ✓" else log "同步失败rsync 退出码: $EXIT_CODE" fi

── 清理 30 天前日志 ──────────────────────────────────────

find "$LOG_DIR" -name "wechat_sync_*.log" -mtime +30 -delete 2>/dev/null

log "======== 同步结束 ========"