novel-doomsday-resurgence/.novel-sync-temp/scripts/auto-backup.sh
唐天洛 5dc8c00de0 feat(sync): 固化小说内容到Git仓库
📚 小说内容:
- 《末日重生-开局囤货十亿物资》33章
- 完整的状态文件、记忆索引、钩子系统

🛠️ 系统配置:
- 版本控制管理系统
- 自动化脚本系统
- 质量监控系统

🧠 固化记忆:
- 长期记忆文件
- 系统配置文档
- 恢复流程指南

💾 数据安全:
- 本地备份系统
- Git版本控制
- 远程同步机制

同步时间: 2026-03-30 16:25:35
系统状态: inkos正常运行中 (PID: 1433309)
创作进度: 第33章《油粮》创作中
2026-03-30 16:25:35 +08:00

68 lines
1.3 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 自动备份脚本
# 每天定时运行,备份当前工作区
set -e
echo "🔄 开始自动备份 $(date '+%Y-%m-%d %H:%M:%S')..."
# 工作区路径
WORKSPACE_DIR="/root/.openclaw/workspace"
BACKUP_DIR="$WORKSPACE_DIR/backups"
# 创建备份目录
mkdir -p "$BACKUP_DIR"
# 生成备份文件名
BACKUP_FILE="$BACKUP_DIR/backup-$(date '+%Y%m%d_%H%M%S').tar.gz"
# 排除不需要备份的文件
exclude_patterns=(
'*.pyc'
'__pycache__'
'backups'
'node_modules'
'.venv'
'*.log'
'*.tmp'
)
# 构建排除参数
EXCLUDE_ARGS=()
for pattern in "${exclude_patterns[@]}"; do
EXCLUDE_ARGS+=(--exclude="$pattern")
done
echo "📦 打包工作区..."
# 创建备份
tar -czf "$BACKUP_FILE" \
--exclude-vcs \
--exclude="*.pyc" \
--exclude="__pycache__" \
--exclude="backups" \
--exclude="node_modules" \
--exclude=".venv" \
--exclude="*.log" \
--exclude="*.tmp" \
-C "$WORKSPACE_DIR" .
BACKUP_SIZE=$(du -h "$BACKUP_FILE" | cut -f1)
echo "✅ 备份完成: $(basename "$BACKUP_FILE")"
echo " 📏 大小: $BACKUP_SIZE"
echo " 📍 位置: $BACKUP_FILE"
# 保留最近30个备份
echo "🧹 清理旧备份保留最近30个..."
cd "$BACKUP_DIR"
ls -t *.tar.gz | tail -n +31 | xargs -r rm -f
# 显示备份状态
echo ""
echo "📊 备份状态:"
ls -lh *.tar.gz | tail -5
echo ""
echo "🎉 自动备份完成!"