- 创建 VERSION_CONTROL.md - 完整的版本控制管理指南 - 添加 auto-backup.sh - 自动备份脚本,支持增量备份 - 完善 Git 工作流,支持小说章节的版本管理 - 解决重复版本混乱问题,实现系统化版本控制
68 lines
1.3 KiB
Bash
Executable File
68 lines
1.3 KiB
Bash
Executable File
#!/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 "🎉 自动备份完成!" |