增加组织人员缺失;黑苹果折腾
This commit is contained in:
80
35-黑苹果DELL/6-微信数据备份.md
Normal file
80
35-黑苹果DELL/6-微信数据备份.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# 替换 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 "======== 同步结束 ========"
|
||||
Reference in New Issue
Block a user