📚 小说内容: - 《末日重生-开局囤货十亿物资》33章 - 完整的状态文件、记忆索引、钩子系统 🛠️ 系统配置: - 版本控制管理系统 - 自动化脚本系统 - 质量监控系统 🧠 固化记忆: - 长期记忆文件 - 系统配置文档 - 恢复流程指南 💾 数据安全: - 本地备份系统 - Git版本控制 - 远程同步机制 同步时间: 2026-03-30 16:25:35 系统状态: inkos正常运行中 (PID: 1433309) 创作进度: 第33章《油粮》创作中
340 lines
8.9 KiB
Bash
Executable File
340 lines
8.9 KiB
Bash
Executable File
#!/bin/bash
|
||
# Git仓库初始化脚本
|
||
|
||
set -e
|
||
|
||
echo "========================================="
|
||
echo "Git小说同步系统初始化"
|
||
echo "========================================="
|
||
|
||
# 配置
|
||
NOVEL_PATH="/root/.openclaw/workspace/tomato-novel/books/末日重生-开局囤货十亿物资"
|
||
GIT_REPO_NAME="novel-morizhongsheng"
|
||
GIT_REMOTE_URL="https://gitea.nevadalice.top:226/liyuchen/$GIT_REPO_NAME.git"
|
||
GIT_USERNAME="liyuchen"
|
||
GIT_PASSWORD="liyuchen"
|
||
|
||
echo "📁 小说路径: $NOVEL_PATH"
|
||
echo "🌐 Git仓库: $GIT_REMOTE_URL"
|
||
|
||
# 检查小说路径
|
||
if [ ! -d "$NOVEL_PATH" ]; then
|
||
echo "❌ 小说路径不存在: $NOVEL_PATH"
|
||
exit 1
|
||
fi
|
||
|
||
# 创建Git仓库目录
|
||
GIT_REPO_DIR="/root/.openclaw/workspace/git_repos/$GIT_REPO_NAME"
|
||
echo "📁 创建Git仓库目录: $GIT_REPO_DIR"
|
||
mkdir -p "$GIT_REPO_DIR"
|
||
|
||
# 进入小说目录
|
||
cd "$NOVEL_PATH"
|
||
|
||
# 初始化Git仓库
|
||
echo "🔄 初始化Git仓库..."
|
||
git init "$GIT_REPO_DIR"
|
||
|
||
# 复制小说文件到Git仓库
|
||
echo "📋 复制小说文件..."
|
||
rsync -av --exclude='backup_*' --exclude='*_backup*' --exclude='*_report*' --exclude='*_fix*' --exclude='*_修复*' --exclude='*_质检*' --exclude='.git' . "$GIT_REPO_DIR/"
|
||
|
||
# 创建.gitignore文件
|
||
echo "📄 创建.gitignore..."
|
||
cat > "$GIT_REPO_DIR/.gitignore" << 'EOF'
|
||
# 备份文件
|
||
backup_*
|
||
*_backup*
|
||
*_report*
|
||
*_fix*
|
||
*_修复*
|
||
*_质检*
|
||
|
||
# 临时文件
|
||
*.tmp
|
||
*.temp
|
||
*.log
|
||
|
||
# 系统文件
|
||
.DS_Store
|
||
Thumbs.db
|
||
|
||
# IDE文件
|
||
.vscode/
|
||
.idea/
|
||
*.swp
|
||
|
||
# 大文件
|
||
*.zip
|
||
*.tar
|
||
*.gz
|
||
EOF
|
||
|
||
# 创建README.md
|
||
echo "📖 创建README.md..."
|
||
cat > "$GIT_REPO_DIR/README.md" << 'EOF'
|
||
# 《末日重生:开局囤货十亿物资》
|
||
|
||
## 📖 小说简介
|
||
- **标题**: 末日重生:开局囤货十亿物资
|
||
- **类型**: 都市异能、末世囤货、重生爽文
|
||
- **目标章节**: 200章
|
||
- **当前进度**: 22/200章 (11%)
|
||
- **总字数**: 约80,000字
|
||
- **创作平台**: 番茄小说
|
||
|
||
## 📚 章节列表
|
||
1. 第1章:冰点记忆
|
||
2. 第2章:暗流
|
||
3. 第3章:仓鼠行动
|
||
4. 第4章:粮草先行
|
||
5. 第5章:铁壁
|
||
6. 第6章:焊花
|
||
7. 第7章:骨刺
|
||
8. 第8章:暗流(2)
|
||
9. 第9章:对峙
|
||
10. 第10章:倒计时
|
||
11. 第11章:筹码
|
||
12. 第12章:质询
|
||
13. 第13章:铁锈
|
||
14. 第14章:断水
|
||
15. 第15章:昏沉
|
||
16. 第16章:电话
|
||
17. 第17章:煎熬
|
||
18. 第18章:钢渣
|
||
19. 第19章:赴约
|
||
20. 第20章:充电
|
||
21. 第21章:焊火
|
||
22. 第22章:抉择
|
||
|
||
## 📁 项目结构
|
||
```
|
||
末日重生-开局囤货十亿物资/
|
||
├── README.md # 项目说明
|
||
├── book.json # 书籍元数据
|
||
├── chapters/ # 章节文件(22个)
|
||
├── story/ # 故事设定
|
||
├── config_backup/ # 配置备份
|
||
├── inkos_config.json # InkOS配置
|
||
└── index.json # 章节索引
|
||
```
|
||
|
||
## 🔄 同步状态
|
||
- **最后同步**: $(date '+%Y-%m-%d %H:%M:%S')
|
||
- **同步方式**: 自动Git同步系统
|
||
- **仓库地址**: https://gitea.nevadalice.top:226/liyuchen/novel-morizhongsheng
|
||
|
||
## 📈 创作统计
|
||
- **总章节**: 22章
|
||
- **总字数**: 约80,000字
|
||
- **平均每章**: 约3,600字
|
||
- **创作开始**: 2026-03-29
|
||
- **最新更新**: 2026-03-30
|
||
|
||
## 🚀 如何运行
|
||
1. 安装Git
|
||
2. 克隆仓库: `git clone https://gitea.nevadalice.top:226/liyuchen/novel-morizhongsheng.git`
|
||
3. 查看章节: 打开 `chapters/` 目录
|
||
|
||
## 📝 版权说明
|
||
© 2026 唐天洛. 保留所有权利。
|
||
本作品为原创小说,仅供学习交流使用。
|
||
EOF
|
||
|
||
# 进入Git仓库目录
|
||
cd "$GIT_REPO_DIR"
|
||
|
||
# 添加远程仓库
|
||
echo "🌐 添加远程仓库..."
|
||
git remote add origin "$GIT_REMOTE_URL"
|
||
|
||
# 设置Git配置
|
||
echo "⚙️ 设置Git配置..."
|
||
git config user.name "$GIT_USERNAME"
|
||
git config user.email "$GIT_USERNAME@example.com"
|
||
git config credential.helper 'store --file ~/.git-credentials'
|
||
|
||
# 保存Git凭据
|
||
echo "https://$GIT_USERNAME:$GIT_PASSWORD@gitea.nevadalice.top:226" > ~/.git-credentials
|
||
chmod 600 ~/.git-credentials
|
||
|
||
# 添加所有文件
|
||
echo "📤 添加文件到Git..."
|
||
git add .
|
||
|
||
# 提交初始版本
|
||
echo "💾 提交初始版本..."
|
||
git commit -m "初始提交: 《末日重生:开局囤货十亿物资》完整项目
|
||
|
||
包含:
|
||
- 全部22章内容
|
||
- 书籍元数据配置
|
||
- 故事设定文件
|
||
- 项目说明文档
|
||
|
||
提交时间: $(date '+%Y-%m-%d %H:%M:%S')
|
||
总章节: 22
|
||
总字数: 约80,000字"
|
||
|
||
# 尝试推送到远程
|
||
echo "🚀 推送到远程仓库..."
|
||
if git push -u origin main 2>/dev/null || git push -u origin master 2>/dev/null; then
|
||
echo "✅ Git仓库初始化完成!"
|
||
echo "🌐 仓库地址: $GIT_REMOTE_URL"
|
||
else
|
||
echo "⚠️ 推送失败,可能是远程仓库不存在"
|
||
echo "📋 请先在Gitea创建仓库: $GIT_REPO_NAME"
|
||
echo "📁 本地仓库已准备就绪: $GIT_REPO_DIR"
|
||
fi
|
||
|
||
# 创建同步脚本
|
||
echo "🔧 创建同步脚本..."
|
||
cat > "$GIT_REPO_DIR/sync_to_git.sh" << 'EOF'
|
||
#!/bin/bash
|
||
# 同步小说到Git仓库
|
||
|
||
set -e
|
||
|
||
echo "========================================="
|
||
echo "同步小说到Git仓库"
|
||
echo "========================================="
|
||
|
||
# 配置
|
||
NOVEL_PATH="/root/.openclaw/workspace/tomato-novel/books/末日重生-开局囤货十亿物资"
|
||
GIT_REPO_DIR="/root/.openclaw/workspace/git_repos/novel-morizhongsheng"
|
||
LOG_FILE="/root/.openclaw/workspace/git_sync_system/sync_log.txt"
|
||
|
||
# 记录日志
|
||
log() {
|
||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
|
||
}
|
||
|
||
log "开始同步..."
|
||
|
||
# 检查目录
|
||
if [ ! -d "$NOVEL_PATH" ]; then
|
||
log "❌ 小说路径不存在: $NOVEL_PATH"
|
||
exit 1
|
||
fi
|
||
|
||
if [ ! -d "$GIT_REPO_DIR" ]; then
|
||
log "❌ Git仓库目录不存在: $GIT_REPO_DIR"
|
||
exit 1
|
||
fi
|
||
|
||
# 进入小说目录
|
||
cd "$NOVEL_PATH"
|
||
|
||
# 检查是否有新内容
|
||
log "📊 检查新内容..."
|
||
CHAPTER_COUNT=$(find chapters -name "*.md" | grep -v backup | grep -v report | grep -v fix | grep -v 修复 | grep -v 质检 | wc -l)
|
||
log "发现 $CHAPTER_COUNT 个章节文件"
|
||
|
||
# 进入Git仓库
|
||
cd "$GIT_REPO_DIR"
|
||
|
||
# 拉取最新更改
|
||
log "📥 拉取最新更改..."
|
||
git pull origin main 2>/dev/null || git pull origin master 2>/dev/null
|
||
|
||
# 同步文件
|
||
log "🔄 同步文件..."
|
||
rsync -av --delete \
|
||
--exclude='backup_*' \
|
||
--exclude='*_backup*' \
|
||
--exclude='*_report*' \
|
||
--exclude='*_fix*' \
|
||
--exclude='*_修复*' \
|
||
--exclude='*_质检*' \
|
||
--exclude='.git' \
|
||
"$NOVEL_PATH/" .
|
||
|
||
# 检查是否有更改
|
||
if git diff --quiet; then
|
||
log "📭 没有新的更改"
|
||
exit 0
|
||
fi
|
||
|
||
# 添加所有更改
|
||
log "📤 添加更改..."
|
||
git add .
|
||
|
||
# 提交更改
|
||
COMMIT_MSG="更新: $(date '+%Y-%m-%d %H:%M:%S')
|
||
|
||
更新内容:
|
||
- 章节文件更新
|
||
- 可能的配置更新
|
||
- 自动同步系统更新
|
||
|
||
章节数: $CHAPTER_COUNT
|
||
同步时间: $(date '+%Y-%m-%d %H:%M:%S')"
|
||
|
||
log "💾 提交更改..."
|
||
git commit -m "$COMMIT_MSG"
|
||
|
||
# 推送到远程
|
||
log "🚀 推送到远程仓库..."
|
||
if git push origin main 2>/dev/null || git push origin master 2>/dev/null; then
|
||
log "✅ 同步完成!"
|
||
log "🌐 仓库地址: https://gitea.nevadalice.top:226/liyuchen/novel-morizhongsheng"
|
||
else
|
||
log "❌ 推送失败"
|
||
exit 1
|
||
fi
|
||
|
||
echo "========================================="
|
||
echo "🎉 同步完成"
|
||
echo "========================================="
|
||
EOF
|
||
|
||
chmod +x "$GIT_REPO_DIR/sync_to_git.sh"
|
||
|
||
# 创建定时同步脚本
|
||
echo "⏰ 创建定时同步配置..."
|
||
cat > /root/.openclaw/workspace/git_sync_system/setup_cron.sh << 'EOF'
|
||
#!/bin/bash
|
||
# 设置Git同步定时任务
|
||
|
||
echo "设置Git同步定时任务..."
|
||
|
||
# 备份现有crontab
|
||
CRON_BACKUP="/root/.openclaw/workspace/git_sync_system/crontab.backup.$(date +%Y%m%d%H%M%S)"
|
||
crontab -l > "$CRON_BACKUP" 2>/dev/null || true
|
||
echo "✅ 现有crontab已备份到: $CRON_BACKUP"
|
||
|
||
# 添加定时任务
|
||
(crontab -l 2>/dev/null | grep -v "novel_git_sync"; echo "
|
||
# =========================================
|
||
# 小说Git同步系统定时任务
|
||
# =========================================
|
||
|
||
# 每小时同步一次
|
||
0 * * * * /root/.openclaw/workspace/git_repos/novel-morizhongsheng/sync_to_git.sh >> /root/.openclaw/workspace/git_sync_system/hourly.log 2>&1
|
||
|
||
# 每天凌晨3点强制同步
|
||
0 3 * * * cd /root/.openclaw/workspace/git_repos/novel-morizhongsheng && git add . && git commit -m '每日自动提交' && git push >> /root/.openclaw/workspace/git_sync_system/daily.log 2>&1
|
||
|
||
# =========================================
|
||
") | crontab -
|
||
|
||
echo "✅ 定时任务设置完成"
|
||
echo "📊 当前定时任务:"
|
||
crontab -l | grep -A 5 "小说Git同步系统"
|
||
EOF
|
||
|
||
chmod +x /root/.openclaw/workspace/git_sync_system/setup_cron.sh
|
||
|
||
echo "========================================="
|
||
echo "🎉 Git同步系统初始化完成!"
|
||
echo "========================================="
|
||
echo ""
|
||
echo "📋 下一步操作:"
|
||
echo "1. 登录Gitea创建仓库: $GIT_REPO_NAME"
|
||
echo "2. 运行同步脚本: $GIT_REPO_DIR/sync_to_git.sh"
|
||
echo "3. 设置定时任务: /root/.openclaw/workspace/git_sync_system/setup_cron.sh"
|
||
echo ""
|
||
echo "📁 本地仓库: $GIT_REPO_DIR"
|
||
echo "🌐 远程仓库: $GIT_REMOTE_URL"
|
||
echo "🔧 同步脚本: $GIT_REPO_DIR/sync_to_git.sh"
|
||
echo "=========================================" |