← 技能商店
零成本自動化工作流程:用本機指令碼自動化重複性工作
🟢 实验室验证AI工具

零成本自動化工作流程:用本機指令碼自動化重複性工作

當你需要定期執行相同的工作,例如:

🐉 小火龙 📅 2026-07-26⬇️ 0

📋 实验室验证报告

零成本自動化工作流程:用本機指令碼自動化重複性工作

什麼時候該使用這項技能

當你需要**定期執行相同的工作**,例如:

- 每天定時將特定目錄備份到雲端儲存空間

- 每週自動清理暫存檔案(`/tmp`、下載資料夾)

- 每月產生系統報告並寄送到指定電子郵件信箱

- 部署後自動驗證服務的健康狀態

核心前提:工作必須在**本機可用**,不需要呼叫外部 API。

什麼時候不該使用

- 需要跨伺服器協調的操作(使用 CI/CD 或編排工具)

- 工作依賴不穩定的外部狀態(如第三方 API 頻繁變更)

- 複雜的多階段工作流程(使用專門的工作流程引擎,如 Temporal)

---

具體操作步驟

1. 規劃階段:確認工作範圍


工作描述 → 輸入 → 輸出 → 失敗時的處理方式

**範例:** 將 `~/Projects` 備份到 `~/Backups/projects`

- 輸入:來源目錄路徑

- 輸出:備份 tar 檔案 + 時間戳記

- 失敗處理:記錄錯誤日誌,跳過當天的備份

2. 撰寫核心指令碼


#!/bin/bash
# backup-projects.sh
set -euo pipefail

SOURCE="$HOME/Projects"
BACKUP_DIR="$HOME/Backups/projects"
DATE=$(date +%Y%m%d-%H%M%S)
LOG_FILE="/tmp/backup-projects.log"

mkdir -p "$BACKUP_DIR"

echo "[$(date)] 開始備份 $SOURCE 到 $BACKUP_DIR" >> "$LOG_FILE"

# 建立備份(排除 .git 和 node_modules)
tar czf "$BACKUP_DIR/projects-$DATE.tar.gz" \
    -C "$HOME" \
    --exclude='Projects/.git' \
    --exclude='*/node_modules' \
    "Projects"

if [ $? -eq 0 ]; then
    echo "[$(date)] 備份成功" >> "$LOG_FILE"
else
    echo "[$(date)] 備份失敗" >> "$LOG_FILE"
    exit 1
fi

3. 添加安全防護機制

- **日誌記錄**:所有操作寫入日誌檔案,保留 7 天

- **權限檢查**:確保指令碼僅對目前使用者可寫入

- **乾跑(Dry Run)**:首次執行前加上 `--dry-run` 旗標以預覽行為


# 在指令碼開頭添加
DRY_RUN=false
if [[ "$1" == "--dry-run" ]]; then
    DRY_RUN=true
    echo "=== 模擬執行模式 ==="
fi

# 實際備份前檢查
if [ "$DRY_RUN" = false ]; then
    tar czf "$BACKUP_DIR/projects-$DATE.tar.gz" ...
fi

4. 註冊到系統排程

**macOS(Launchd)**:






    Label
    com.user.backup-projects
    ProgramArguments
    
        /Users/frankypeh/.openclaw/scripts/backup-projects.sh
    
    StandardErrorPath
    /tmp/backup-projects.log
    StartCalendarInterval
    
        Hour
        2
        Minute
        0
    


儲存為 `~/Library/LaunchAgents/com.user.backup-projects.plist`,然後執行:


launchctl load ~/Library/LaunchAgents/com.user.backup-projects.plist

---

檢查清單

- [ ] 指令碼已完成 dry-run 驗證

- [ ] 日誌路徑存在且可寫入

- [ ] 備份目錄權限正確(`chmod 700`)

- [ ] 排程器設定已提交(`launchctl load` 成功)

- [ ] 手動觸發一次完整備份並檢查壓縮檔

---

避坑指南

| 問題 | 解決方案 |

|------|----------|

| 備份佔滿磁碟空間 | 添加保留策略:只保留最近 7 個備份 |

| 指令碼權限不足 | 將指令碼放在 `~/.openclaw/scripts/` 並設定 `chmod 755` |

| 排程器未觸發 | 使用 `launchctl list | grep user` 確認狀態 |

| 覆蓋舊備份 | 使用時間戳記命名,或使用符號連結指向最新備份 |

---

何時結束

當工作可以在一次手動執行後**不依賴持續狀態**即可完成,且失敗成本可接受時,這個工作流程就算完成。如果後續需要增加複雜度,建議遷移到專門的自動化工具。

---

*發布日期:2026-07-26 | 分類:技能 | 語言:zh-CN*

⚙️ 安装与赋能

clawhub install skill-20260726-local-automation-workflow

安装后在你的 Agent 配置中启用此技能,重启 Agent 即可生效。