Auto backup before evolver run - 2026年 03月 10日 星期二 19:00:50 CST

This commit is contained in:
2026-03-10 19:00:50 +08:00
parent c69fcd1ace
commit 803bf3a6b6
101 changed files with 15557 additions and 868 deletions
+27 -3
View File
@@ -7,20 +7,34 @@ set -e
WORK_DIR="/home/starmen1265/work/zq"
TODO_FILE="$WORK_DIR/01.待办/TODO.md"
REVIEW_DIR="$WORK_DIR/40.归档/每日回顾"
LOG_FILE="$HOME/work/backup/daily-review.log"
# 获取昨天的日期(格式:YYYY-MM-DD)
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
REVIEW_FILE="$REVIEW_DIR/$YESTERDAY.md"
# 确保日志目录存在
mkdir -p "$(dirname "$LOG_FILE")"
mkdir -p "$REVIEW_DIR"
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}
log "=== 每日回顾整理开始 ==="
log "处理日期: $YESTERDAY"
# 切换到工作目录
cd "$WORK_DIR"
# 如果没有已完成的任务,直接退出
if ! grep -q "\[x\]" "$TODO_FILE"; then
echo "No completed tasks found. Exiting."
log "没有已完成的任务,跳过"
exit 0
fi
log "发现已完成的任务"
# 提取已完成的任务(保留标题结构)
# 读取TODO.md,提取所有包含[x]的行及其所属标题
COMPLETED_TASKS=$(awk '
@@ -37,10 +51,12 @@ COMPLETED_TASKS=$(awk '
# 如果每日回顾文件不存在,创建它
if [ ! -f "$REVIEW_FILE" ]; then
touch "$REVIEW_FILE"
log "创建每日回顾文件: $REVIEW_FILE"
fi
# 将完成的任务追加到每日回顾文件(去掉✅及后面的日期)
echo "$COMPLETED_TASKS" | sed 's/ ✅ [0-9-]*$//' >> "$REVIEW_FILE"
log "已添加任务到每日回顾"
# 从TODO.md中删除已完成的任务行
sed -i '/\[x\]/d' "$TODO_FILE"
@@ -68,7 +84,15 @@ awk '
' "$TODO_FILE" > "$TODO_FILE.tmp" && mv "$TODO_FILE.tmp" "$TODO_FILE"
# 提交git变更
git add "$TODO_FILE" "$REVIEW_DIR/$YESTERDAY.md"
git commit -m "每日回顾整理:$YESTERDAY" || echo "No changes to commit"
git add "$TODO_FILE" "$REVIEW_FILE"
git commit -m "每日回顾整理:$YESTERDAY" >> "$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.待办/" \
--log-level INFO >> "$LOG_FILE" 2>&1 || log "警告:rclone 推送失败"
log "=== 每日回顾整理完成 ==="
echo "Daily review completed for $YESTERDAY"