#!/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 "========================================="