自动同步: 2026-03-12 03:00
This commit is contained in:
+83
-79
@@ -10,14 +10,14 @@
|
||||
"updatedAtMs": 1773169210537,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 3 * * *",
|
||||
"expr": "0 2 * * *",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "执行备份脚本:/home/starmen1265/.openclaw/cron/scripts/backup_openclaw.sh"
|
||||
"message": "执行备份脚本:/home/starmen1265/.openclaw/cron/scripts/backup_openclaw_json.sh"
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce"
|
||||
@@ -30,7 +30,40 @@
|
||||
"consecutiveErrors": 0,
|
||||
"lastRunStatus": "ok",
|
||||
"lastDelivered": true,
|
||||
"lastDeliveryStatus": "delivered"
|
||||
"lastDeliveryStatus": "delivered",
|
||||
"runningAtMs": 1773255600002
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "aa4d2de9-79be-4262-83ee-af8824793bfc",
|
||||
"agentId": "haonan",
|
||||
"name": "openclaw-git-sync",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772552362242,
|
||||
"updatedAtMs": 1773169210537,
|
||||
"schedule": {
|
||||
"expr": "10 2 * * *",
|
||||
"kind": "cron",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "执行 OpenClaw Git 同步:bash ~/.openclaw/cron/scripts/openclaw-git-sync.sh"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773255600000,
|
||||
"lastRunAtMs": 1773169210537,
|
||||
"lastStatus": "skipped",
|
||||
"lastDurationMs": 0,
|
||||
"consecutiveErrors": 0,
|
||||
"lastRunStatus": "skipped",
|
||||
"lastDeliveryStatus": "not-requested",
|
||||
"runningAtMs": 1773255600002
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -39,10 +72,10 @@
|
||||
"name": "capability-evolver-daily",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772550743528,
|
||||
"updatedAtMs": 1773140700015,
|
||||
"updatedAtMs": 1773227100011,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 19 * * *",
|
||||
"expr": "20 2 * * *",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
@@ -52,7 +85,7 @@
|
||||
"message": "执行每日 capability-evolver 任务:\n\n1. 执行脚本:bash ~/.openclaw/cron/scripts/evolver-run.sh\n2. 读取输出:cat ~/work/backup/evolver-output.txt\n3. 将完整的修改内容(包含 Git 备份信息和本次变更)通过 feishu 发送给蒋先生\n\n如果本次无任何变更,回复 '今日无变更' 即可。",
|
||||
"model": "g47f",
|
||||
"thinking": "off",
|
||||
"timeoutSeconds": 300
|
||||
"timeoutSeconds": 600
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce",
|
||||
@@ -60,25 +93,60 @@
|
||||
"to": "feishu-pm"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773226800000,
|
||||
"lastRunAtMs": 1773140400005,
|
||||
"nextRunAtMs": 1773313200000,
|
||||
"lastRunAtMs": 1773226800003,
|
||||
"lastStatus": "error",
|
||||
"lastDurationMs": 300010,
|
||||
"consecutiveErrors": 1,
|
||||
"lastDurationMs": 300008,
|
||||
"consecutiveErrors": 2,
|
||||
"lastRunStatus": "error",
|
||||
"lastDeliveryStatus": "unknown",
|
||||
"runningAtMs": 1773226800002
|
||||
"lastError": "cron: job execution timed out"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "daily-review-cleanup",
|
||||
"agentId": "knowledge-base",
|
||||
"name": "daily-review-cleanup",
|
||||
"description": "每天凌晨2:30整理昨天的已完成任务到每日回顾",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1741484880000,
|
||||
"updatedAtMs": 1773253818558,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "30 2 * * *",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "执行每日回顾整理脚本:bash ~/.openclaw/cron/scripts/daily-review.sh\n\n完成后汇报整理结果。",
|
||||
"timeoutSeconds": 120
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce",
|
||||
"channel": "last"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773340200000,
|
||||
"lastRunAtMs": 1773253800004,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 18554,
|
||||
"lastDelivered": true,
|
||||
"lastDeliveryStatus": "delivered",
|
||||
"consecutiveErrors": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "7e6405b6-c5f8-475a-baad-27ec0153ff8c",
|
||||
"agentId": "knowledge-base",
|
||||
"name": "zq-knowledge-base-sync",
|
||||
"name": "zq_workspace_sync",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772551807455,
|
||||
"updatedAtMs": 1773169210537,
|
||||
"schedule": {
|
||||
"expr": "0 3 * * *",
|
||||
"expr": "40 2 * * *",
|
||||
"kind": "cron",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
@@ -86,7 +154,7 @@
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "systemEvent",
|
||||
"text": "执行知识库同步:bash ~/.openclaw/cron/scripts/zq-sync.sh"
|
||||
"text": "执行 zq 工作区同步:bash ~/.openclaw/cron/scripts/zq_workspace_sync.sh"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773255600000,
|
||||
@@ -96,36 +164,7 @@
|
||||
"consecutiveErrors": 0,
|
||||
"lastRunStatus": "skipped",
|
||||
"lastDeliveryStatus": "not-requested",
|
||||
"lastError": "disabled"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "aa4d2de9-79be-4262-83ee-af8824793bfc",
|
||||
"agentId": "knowledge-base",
|
||||
"name": "openclaw-backup",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772552362242,
|
||||
"updatedAtMs": 1773169210537,
|
||||
"schedule": {
|
||||
"expr": "0 3 * * *",
|
||||
"kind": "cron",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "main",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "systemEvent",
|
||||
"text": "执行 OpenClaw 备份:bash ~/.openclaw/cron/scripts/git-auto-sync.sh"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773255600000,
|
||||
"lastRunAtMs": 1773169210537,
|
||||
"lastStatus": "skipped",
|
||||
"lastDurationMs": 0,
|
||||
"consecutiveErrors": 0,
|
||||
"lastRunStatus": "skipped",
|
||||
"lastDeliveryStatus": "not-requested",
|
||||
"lastError": "disabled"
|
||||
"runningAtMs": 1773255600002
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -233,41 +272,6 @@
|
||||
"lastDeliveryStatus": "delivered",
|
||||
"consecutiveErrors": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "daily-review-cleanup",
|
||||
"agentId": "knowledge-base",
|
||||
"name": "daily-review-cleanup",
|
||||
"description": "每天凌晨2:30整理昨天的已完成任务到每日回顾",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1741484880000,
|
||||
"updatedAtMs": 1773167415159,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "30 2 * * *",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "执行每日回顾整理脚本:bash ~/.openclaw/cron/scripts/daily-review.sh\n\n完成后汇报整理结果。",
|
||||
"timeoutSeconds": 120
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce",
|
||||
"channel": "last"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773253800000,
|
||||
"lastRunAtMs": 1773167400018,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 15141,
|
||||
"lastDelivered": true,
|
||||
"lastDeliveryStatus": "delivered",
|
||||
"consecutiveErrors": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+89
-86
@@ -10,14 +10,14 @@
|
||||
"updatedAtMs": 1773169210537,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 3 * * *",
|
||||
"expr": "0 2 * * *",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "执行备份脚本:/home/starmen1265/.openclaw/cron/scripts/backup_openclaw.sh"
|
||||
"message": "执行备份脚本:/home/starmen1265/.openclaw/cron/scripts/backup_openclaw_json.sh"
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce"
|
||||
@@ -34,59 +34,22 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f03b184f-5f1d-4093-ae1b-fc9fe0b59eef",
|
||||
"id": "aa4d2de9-79be-4262-83ee-af8824793bfc",
|
||||
"agentId": "haonan",
|
||||
"name": "capability-evolver-daily",
|
||||
"name": "openclaw-git-sync",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772550743528,
|
||||
"updatedAtMs": 1773140700015,
|
||||
"createdAtMs": 1772552362242,
|
||||
"updatedAtMs": 1773169210537,
|
||||
"schedule": {
|
||||
"expr": "10 2 * * *",
|
||||
"kind": "cron",
|
||||
"expr": "0 19 * * *",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "执行每日 capability-evolver 任务:\n\n1. 执行脚本:bash ~/.openclaw/cron/scripts/evolver-run.sh\n2. 读取输出:cat ~/work/backup/evolver-output.txt\n3. 将完整的修改内容(包含 Git 备份信息和本次变更)通过 feishu 发送给蒋先生\n\n如果本次无任何变更,回复 '今日无变更' 即可。",
|
||||
"model": "g47f",
|
||||
"thinking": "off",
|
||||
"timeoutSeconds": 300
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce",
|
||||
"channel": "feishu",
|
||||
"to": "feishu-pm"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773226800000,
|
||||
"lastRunAtMs": 1773140400005,
|
||||
"lastStatus": "error",
|
||||
"lastDurationMs": 300010,
|
||||
"consecutiveErrors": 1,
|
||||
"lastRunStatus": "error",
|
||||
"lastDeliveryStatus": "unknown",
|
||||
"lastError": "cron: job execution timed out"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "7e6405b6-c5f8-475a-baad-27ec0153ff8c",
|
||||
"agentId": "knowledge-base",
|
||||
"name": "zq-knowledge-base-sync",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772551807455,
|
||||
"updatedAtMs": 1773169210537,
|
||||
"schedule": {
|
||||
"expr": "0 3 * * *",
|
||||
"kind": "cron",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "main",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "systemEvent",
|
||||
"text": "执行知识库同步:bash ~/.openclaw/cron/scripts/zq-sync.sh"
|
||||
"message": "执行 OpenClaw Git 同步:bash ~/.openclaw/cron/scripts/openclaw-git-sync.sh"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773255600000,
|
||||
@@ -97,17 +60,92 @@
|
||||
"lastRunStatus": "skipped",
|
||||
"lastDeliveryStatus": "not-requested",
|
||||
"lastError": "disabled"
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "aa4d2de9-79be-4262-83ee-af8824793bfc",
|
||||
"agentId": "knowledge-base",
|
||||
"name": "openclaw-backup",
|
||||
"id": "f03b184f-5f1d-4093-ae1b-fc9fe0b59eef",
|
||||
"agentId": "haonan",
|
||||
"name": "capability-evolver-daily",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772552362242,
|
||||
"createdAtMs": 1772550743528,
|
||||
"updatedAtMs": 1773227100011,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "20 2 * * *",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "执行每日 capability-evolver 任务:\n\n1. 执行脚本:bash ~/.openclaw/cron/scripts/evolver-run.sh\n2. 读取输出:cat ~/work/backup/evolver-output.txt\n3. 将完整的修改内容(包含 Git 备份信息和本次变更)通过 feishu 发送给蒋先生\n\n如果本次无任何变更,回复 '今日无变更' 即可。",
|
||||
"model": "g47f",
|
||||
"thinking": "off",
|
||||
"timeoutSeconds": 600
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce",
|
||||
"channel": "feishu",
|
||||
"to": "feishu-pm"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773313200000,
|
||||
"lastRunAtMs": 1773226800003,
|
||||
"lastStatus": "error",
|
||||
"lastDurationMs": 300008,
|
||||
"consecutiveErrors": 2,
|
||||
"lastRunStatus": "error",
|
||||
"lastDeliveryStatus": "unknown",
|
||||
"lastError": "cron: job execution timed out"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "daily-review-cleanup",
|
||||
"agentId": "knowledge-base",
|
||||
"name": "daily-review-cleanup",
|
||||
"description": "每天凌晨2:30整理昨天的已完成任务到每日回顾",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1741484880000,
|
||||
"updatedAtMs": 1773253818558,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "30 2 * * *",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "执行每日回顾整理脚本:bash ~/.openclaw/cron/scripts/daily-review.sh\n\n完成后汇报整理结果。",
|
||||
"timeoutSeconds": 120
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce",
|
||||
"channel": "last"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773340200000,
|
||||
"lastRunAtMs": 1773253800004,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 18554,
|
||||
"lastDelivered": true,
|
||||
"lastDeliveryStatus": "delivered",
|
||||
"consecutiveErrors": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "7e6405b6-c5f8-475a-baad-27ec0153ff8c",
|
||||
"agentId": "knowledge-base",
|
||||
"name": "zq_workspace_sync",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772551807455,
|
||||
"updatedAtMs": 1773169210537,
|
||||
"schedule": {
|
||||
"expr": "0 3 * * *",
|
||||
"expr": "40 2 * * *",
|
||||
"kind": "cron",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
@@ -115,7 +153,7 @@
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "systemEvent",
|
||||
"text": "执行 OpenClaw 备份:bash ~/.openclaw/cron/scripts/git-auto-sync.sh"
|
||||
"text": "执行 zq 工作区同步:bash ~/.openclaw/cron/scripts/zq_workspace_sync.sh"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773255600000,
|
||||
@@ -233,41 +271,6 @@
|
||||
"lastDeliveryStatus": "delivered",
|
||||
"consecutiveErrors": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "daily-review-cleanup",
|
||||
"agentId": "knowledge-base",
|
||||
"name": "daily-review-cleanup",
|
||||
"description": "每天凌晨2:30整理昨天的已完成任务到每日回顾",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1741484880000,
|
||||
"updatedAtMs": 1773167415159,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "30 2 * * *",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "执行每日回顾整理脚本:bash ~/.openclaw/cron/scripts/daily-review.sh\n\n完成后汇报整理结果。",
|
||||
"timeoutSeconds": 120
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce",
|
||||
"channel": "last"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773253800000,
|
||||
"lastRunAtMs": 1773167400018,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 15141,
|
||||
"lastDelivered": true,
|
||||
"lastDeliveryStatus": "delivered",
|
||||
"consecutiveErrors": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 "=== 每日回顾整理完成 ==="
|
||||
|
||||
+10
-23
@@ -13,33 +13,20 @@ echo "" >> "$OUTPUT_FILE"
|
||||
# 切换到 openclaw 目录
|
||||
cd "$OPENCLAW_DIR"
|
||||
|
||||
# 推送到远端(如果有远端)
|
||||
if git remote get-url origin &>/dev/null; then
|
||||
echo "=== 推送到远端 ===" >> "$OUTPUT_FILE"
|
||||
git push origin main >> "$OUTPUT_FILE" 2>&1
|
||||
echo "推送完成" >> "$OUTPUT_FILE"
|
||||
else
|
||||
echo "无远端配置,跳过推送" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
|
||||
echo "" >> "$OUTPUT_FILE"
|
||||
|
||||
# 检查是否有未提交的更改
|
||||
# 检查是否有未提交的更改,先提交到 main
|
||||
if [[ -n $(git status --porcelain) ]]; then
|
||||
echo "发现有未提交的更改,先提交..." >> "$OUTPUT_FILE"
|
||||
echo "发现有未提交的更改,先提交到 main..." >> "$OUTPUT_FILE"
|
||||
git add -A
|
||||
git commit -m "Auto backup before evolver run - $(date)" 2>/dev/null
|
||||
fi
|
||||
|
||||
# 创建备份分支
|
||||
BACKUP_BRANCH="backup/evolver-$(date +%Y%m%d-%H%M%S)"
|
||||
echo "创建备份分支: $BACKUP_BRANCH" >> "$OUTPUT_FILE"
|
||||
git branch -D "$BACKUP_BRANCH" 2>/dev/null || true
|
||||
git branch "$BACKUP_BRANCH" 2>/dev/null
|
||||
|
||||
# 推送备份分支
|
||||
# 推送当前状态到 main(作为备份点)
|
||||
if git remote get-url origin &>/dev/null; then
|
||||
git push origin "$BACKUP_BRANCH" >> "$OUTPUT_FILE" 2>&1 || echo "备份分支推送失败" >> "$OUTPUT_FILE"
|
||||
echo "=== 推送当前状态到 main 分支 ===" >> "$OUTPUT_FILE"
|
||||
git push origin main >> "$OUTPUT_FILE" 2>&1
|
||||
echo "备份完成" >> "$OUTPUT_FILE"
|
||||
else
|
||||
echo "无远端配置,跳过推送" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
|
||||
echo "" >> "$OUTPUT_FILE"
|
||||
@@ -62,10 +49,10 @@ echo "" >> "$OUTPUT_FILE"
|
||||
echo "=== 本次变更 ===" >> "$OUTPUT_FILE"
|
||||
git status --short >> "$OUTPUT_FILE"
|
||||
|
||||
# 如果有变更,推送
|
||||
# 如果有变更,推送到 main
|
||||
if [[ -n $(git status --porcelain) ]]; then
|
||||
echo "" >> "$OUTPUT_FILE"
|
||||
echo "=== 推送变更到远端 ===" >> "$OUTPUT_FILE"
|
||||
echo "=== 推送变更到 main 分支 ===" >> "$OUTPUT_FILE"
|
||||
git add -A
|
||||
git commit -m "Evolver auto evolution - $(date)" 2>/dev/null || true
|
||||
git push origin main >> "$OUTPUT_FILE" 2>&1 || echo "推送失败" >> "$OUTPUT_FILE"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#!/bin/bash
|
||||
# 知识库同步和备份脚本
|
||||
# zq 工作区同步脚本
|
||||
# 流程:NAS pull → Git commit/push(Gitea备份)→ NAS push
|
||||
|
||||
ZQ_DIR="$HOME/work/zq"
|
||||
LOG_FILE="$HOME/work/zq-sync.log"
|
||||
@@ -13,31 +14,30 @@ log "========== 开始同步 =========="
|
||||
|
||||
cd "$ZQ_DIR" || exit 1
|
||||
|
||||
# 1. 先拉取远程更新
|
||||
log "拉取远程更新..."
|
||||
git pull origin main --rebase >> "$LOG_FILE" 2>&1
|
||||
|
||||
# 2. 从 NAS WebDAV 拉取最新内容(排除 .git 目录)
|
||||
log "从 NAS 拉取更新..."
|
||||
# 1. 从 NAS WebDAV 拉取最新内容
|
||||
log "1. 从 NAS 拉取更新..."
|
||||
rclone sync "nas-webdav:/home/Drive/工作区/张青/工作区/" "$ZQ_DIR/" \
|
||||
--exclude ".git/" \
|
||||
--exclude ".gitignore" \
|
||||
--log-level INFO >> "$LOG_FILE" 2>&1
|
||||
|
||||
# 3. 检查是否有变更
|
||||
# 2. 检查是否有变更,有则提交到 Git(推送到 Gitea 备份)
|
||||
CHANGES=$(git status --porcelain)
|
||||
|
||||
if [ -n "$CHANGES" ]; then
|
||||
log "检测到变更,提交到 Git..."
|
||||
log "2. 检测到变更,提交到 Gitea..."
|
||||
git add -A
|
||||
git commit -m "自动备份: $DATE" >> "$LOG_FILE" 2>&1
|
||||
|
||||
# 4. 推送到 Gitea
|
||||
log "推送到 Gitea..."
|
||||
git push origin main >> "$LOG_FILE" 2>&1
|
||||
log "备份完成!"
|
||||
else
|
||||
log "没有变更,跳过提交。"
|
||||
log "2. 没有变更,跳过 Git 提交。"
|
||||
fi
|
||||
|
||||
# 3. 同步回 NAS
|
||||
log "3. 同步回 NAS..."
|
||||
rclone sync "$ZQ_DIR/" "nas-webdav:/home/Drive/工作区/张青/工作区/" \
|
||||
--exclude ".git/" \
|
||||
--exclude ".gitignore" \
|
||||
--log-level INFO >> "$LOG_FILE" 2>&1
|
||||
|
||||
log "========== 同步完成 =========="
|
||||
Reference in New Issue
Block a user