自动同步: 2026-03-12 03:00
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
# 每日回顾整理脚本
|
||||
# 功能:将TODO.md中已完成的任务移动到昨天的每日回顾中
|
||||
# 流程:NAS pull → 整理任务 → Git commit/push → NAS sync
|
||||
|
||||
set -e
|
||||
|
||||
@@ -27,13 +27,20 @@ log "处理日期: $YESTERDAY"
|
||||
# 切换到工作目录
|
||||
cd "$WORK_DIR"
|
||||
|
||||
# 1. 先从 NAS 拉取最新内容
|
||||
log "1. 从 NAS 拉取更新..."
|
||||
rclone sync "nas-webdav:/home/Drive/工作区/张青/工作区/" "$WORK_DIR/" \
|
||||
--exclude ".git/" \
|
||||
--exclude ".gitignore" \
|
||||
--log-level INFO >> "$LOG_FILE" 2>&1
|
||||
|
||||
# 如果没有已完成的任务,直接退出
|
||||
if ! grep -q "\[x\]" "$TODO_FILE"; then
|
||||
log "没有已完成的任务,跳过"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
log "发现已完成的任务"
|
||||
log "2. 发现已完成的任务,开始整理..."
|
||||
|
||||
# 提取已完成的任务(保留标题结构)
|
||||
# 读取TODO.md,提取所有包含[x]的行及其所属标题
|
||||
@@ -83,15 +90,17 @@ awk '
|
||||
}
|
||||
' "$TODO_FILE" > "$TODO_FILE.tmp" && mv "$TODO_FILE.tmp" "$TODO_FILE"
|
||||
|
||||
# 提交git变更
|
||||
# 3. 提交并推送到 Gitea
|
||||
log "3. 提交并推送到 Gitea..."
|
||||
git add "$TODO_FILE" "$REVIEW_FILE"
|
||||
git commit -m "每日回顾整理:$YESTERDAY" >> "$LOG_FILE" 2>&1 || log "Git提交无变更"
|
||||
git push origin main >> "$LOG_FILE" 2>&1 || log "警告:Git推送失败"
|
||||
|
||||
# 同步到 NAS
|
||||
log "推送到 NAS..."
|
||||
rclone copy "$REVIEW_FILE" "nas-webdav:/home/Drive/工作区/张青/工作区/40.归档/每日回顾/" \
|
||||
--log-level INFO >> "$LOG_FILE" 2>&1 || log "警告:rclone 推送失败"
|
||||
rclone copy "$TODO_FILE" "nas-webdav:/home/Drive/工作区/张青/工作区/01.待办/" \
|
||||
# 4. 全量同步回 NAS
|
||||
log "4. 同步回 NAS..."
|
||||
rclone sync "$WORK_DIR/" "nas-webdav:/home/Drive/工作区/张青/工作区/" \
|
||||
--exclude ".git/" \
|
||||
--exclude ".gitignore" \
|
||||
--log-level INFO >> "$LOG_FILE" 2>&1 || log "警告:rclone 推送失败"
|
||||
|
||||
log "=== 每日回顾整理完成 ==="
|
||||
|
||||
Reference in New Issue
Block a user