iT邦幫忙

1

使用 cli-kintone 搭配 Mac 捷徑自動化/Windows 工作排程器自動備份 kintone 應用程式記錄

  • 分享至 

  • xImage
  •  

kintone 應用程式中的記錄可以透過 CSV 匯出功能快速進行資料備份。不過,如果每次都透過畫面手動操作,不僅容易忘記,也不適合需要定期備份或大量備份的情境。此外,當記錄中含有附件時,透過一般 CSV 匯出功能並沒有辦法將附件檔案一併下載。

如果需要大量備份記錄,或是備份的應用程式中包含附件檔案,非常推薦使用官方提供的命令列工具 cli-kintone。cli-kintone 不僅可以匯出大量記錄,也能一併下載記錄中的附件檔案,適合用來建立定期備份流程。

進一步搭配 Mac 捷徑自動化Windows 工作排程器,即可設定在指定時間自動執行備份指令,實現 kintone 應用程式記錄的自動備份。

下載 cli-kintone 套件

請先至 cli-kintone Github Release 頁面 下載對應您作業系統的主程式 zip 壓縮檔。

  • macOS:cli-kintone_${version}_macos.zip
  • Windows:cli-kintone_${version}_win.zip

解壓縮後,將程式檔移動到目標資料夾 kintone-backups 中,範例路徑如下:

Mac

/Users/使用者名稱/kintone-backups/cli-kintone

Windows

C:\Users\使用者名稱\kintone-backups\cli-kintone.exe

💡 補充:
本文範例會將 cli-kintone 主程式、備份腳本與備份結果都放在同一個 kintone-backups 資料夾中,方便管理。實際使用時,也可以依照公司的檔案管理規則調整路徑。

設定自動備份腳本

本範例提供 Mac 的 bash 指令以及 Windows 的 PowerShell 指令,可將指定的應用程式記錄(含附件)備份到指定資料夾中。

本文的目標資料夾為 kintone-backups,您可以依照實際環境自行修改路徑。

在 Mac 中,可以透過「捷徑」搭配自動化排程設定,在固定時間自動執行指令;在 Windows 則可以利用「工作排程器」,在指定時間自動執行腳本。

開始設定前,請先準備以下資訊:

  • kintone 環境的 URL,例如:https://example.cybozu.com
  • 要備份的 kintone 應用程式 ID
  • 該應用程式的 API 權杖
  • cli-kintone 主程式所在路徑
  • 備份檔案要存放的資料夾路徑

⚠️ API 權杖權限提醒:
若只需要匯出記錄與下載附件,API 權杖至少需要具備「查看記錄」權限。若應用程式有設定欄位權限、記錄權限或應用程式存取權限,也請確認執行備份的帳號或 API 權杖能讀取需要備份的資料。

Mac

建立捷徑

開啟「捷徑」應用程式,新增捷徑。

加入動作「執行Shell工序指令」。

※ 請注意:需在進階設定中允許執行工序指令。

在「執行 Shell 工序指令」的指令編輯區中,貼上下方的程式碼:

#!/usr/bin/env bash
# 本腳本可於 bash / zsh 執行

# ===== 請修改以下設定 =====
KINTONE_BASE_URL="https://example.cybozu.com"
KINTONE_APP_ID="123"
KINTONE_API_TOKEN="your_token"

CLI_KINTONE="/Users/使用者名稱/kintone-backups/cli-kintone"
BACKUP_BASE_DIR="/Users/使用者名稱/kintone-backups"
# ==========================

TIMESTAMP=$(date +%Y%m%d_%H%M%S)
DATE_DIR=$(date +%Y-%m-%d)
TODAY_DIR="$BACKUP_BASE_DIR/$DATE_DIR"
ATTACHMENTS_DIR="$TODAY_DIR/attachments"
CSV_FILE="$TODAY_DIR/records_$TIMESTAMP.csv"

mkdir -p "$TODAY_DIR" "$ATTACHMENTS_DIR"

"$CLI_KINTONE" record export \
  --base-url "$KINTONE_BASE_URL" \
  --api-token "$KINTONE_API_TOKEN" \
  --app "$KINTONE_APP_ID" \
  --attachments-dir "$ATTACHMENTS_DIR" \
  --encoding utf8 \
  > "$CSV_FILE"

echo "備份完成:$CSV_FILE"
程式碼說明

請先將程式碼上方「請修改以下設定」區塊中的內容替換成自己的環境資訊。

KINTONE_BASE_URL="https://example.cybozu.com"
KINTONE_APP_ID="123"
KINTONE_API_TOKEN="your_token"

這三個設定分別代表:

  • KINTONE_BASE_URL:kintone 環境的 URL,例如 https://example.cybozu.com
  • KINTONE_APP_ID:要備份的應用程式 ID
  • KINTONE_API_TOKEN:該應用程式的 API 權杖

接著,請確認以下兩個路徑設定是否符合自己的電腦環境:

CLI_KINTONE="/Users/使用者名稱/kintone-backups/cli-kintone"
BACKUP_BASE_DIR="/Users/使用者名稱/kintone-backups"
  • CLI_KINTONE:cli-kintone 主程式所在位置
  • BACKUP_BASE_DIR:備份檔案要存放的資料夾

腳本執行時,會依照當天日期建立資料夾。例如在 2026-04-29 執行時,會建立以下資料夾:

/Users/使用者名稱/kintone-backups/2026-04-29

同時會在該日期資料夾中建立:

  • records_yyyyMMdd_HHmmss.csv:匯出的記錄 CSV 檔
  • attachments:附件下載資料夾

其中,以下這段指令是實際執行備份的部分:

"$CLI_KINTONE" record export \
  --base-url "$KINTONE_BASE_URL" \
  --api-token "$KINTONE_API_TOKEN" \
  --app "$KINTONE_APP_ID" \
  --attachments-dir "$ATTACHMENTS_DIR" \
  --encoding utf8 \
  > "$CSV_FILE"

各選項的用途如下:

  • record export:匯出指定 kintone 應用程式的記錄
  • --base-url:指定 kintone 環境 URL
  • --api-token:指定 API 權杖
  • --app:指定應用程式 ID
  • --attachments-dir:指定附件下載資料夾
  • --encoding utf8:以 UTF-8 編碼輸出 CSV
  • "$CSV_FILE":將 cli-kintone 的輸出結果儲存成 CSV 檔案

可在下方加入動作「顯示通知」,當指令碼執行完成時便會出現通知提示 備份完成:$CSV_FILE

捷徑建立完畢後,可以直接執行捷徑測試是否運作正常。確認 CSV 檔與附件資料夾都有正常產生後,後續也可以透過執行捷徑來進行資料備份。

設定自動化排程

切換到「自動化」頁面,新增自動化設定。

選擇觸發自動化的方式,並且點擊下一步。(本文以特定時間為例)

設定執行時間與重複頻率,執行選項選擇「立即執行」。

💡 若選擇「確認後執行」,自動化觸發時會出現通知,需人工點擊確認後才會執行捷徑。可依照使用習慣自行選擇適合的方式。

選取建立好的 kintone 自動備份捷徑,點擊「完成」即設定完畢。

設定完成後,系統便會依照指定時間自動執行捷徑,並將 kintone 應用程式記錄與附件備份到指定資料夾中。

Windows

建立腳本

在目標資料夾下,以「記事本」建立一個文字檔,貼上以下程式碼:

# 本腳本可於 Windows PowerShell / PowerShell 執行

# ===== 請修改以下設定 =====
$KINTONE_BASE_URL = "https://example.cybozu.com"
$KINTONE_APP_ID = "123"
$KINTONE_API_TOKEN = "your_token"

$CLI_KINTONE = "C:\Users\使用者名稱\kintone-backups\cli-kintone.exe"
$BACKUP_BASE_DIR = "C:\Users\使用者名稱\kintone-backups"
# ==========================

$TIMESTAMP = Get-Date -Format "yyyyMMdd_HHmmss"
$DATE_DIR = Get-Date -Format "yyyy-MM-dd"
$TODAY_DIR = Join-Path $BACKUP_BASE_DIR $DATE_DIR
$ATTACHMENTS_DIR = Join-Path $TODAY_DIR "attachments"
$CSV_FILE = Join-Path $TODAY_DIR "records_$TIMESTAMP.csv"

New-Item -ItemType Directory -Force -Path $TODAY_DIR, $ATTACHMENTS_DIR | Out-Null

& $CLI_KINTONE record export `
  --base-url $KINTONE_BASE_URL `
  --api-token $KINTONE_API_TOKEN `
  --app $KINTONE_APP_ID `
  --attachments-dir $ATTACHMENTS_DIR `
  --encoding utf8 `
  | Out-File -FilePath $CSV_FILE -Encoding utf8

Write-Host "備份完成:$CSV_FILE"
程式碼說明

請先將程式碼上方「請修改以下設定」區塊中的內容替換成自己的環境資訊。

$KINTONE_BASE_URL = "https://example.cybozu.com"
$KINTONE_APP_ID = "123"
$KINTONE_API_TOKEN = "your_token"

這三個設定分別代表:

  • $KINTONE_BASE_URL:kintone 環境的 URL,例如 https://example.cybozu.com
  • $KINTONE_APP_ID:要備份的應用程式 ID
  • $KINTONE_API_TOKEN:該應用程式的 API 權杖

接著,請確認以下兩個路徑設定是否符合自己的電腦環境:

$CLI_KINTONE = "C:\Users\使用者名稱\kintone-backups\cli-kintone.exe"
$BACKUP_BASE_DIR = "C:\Users\使用者名稱\kintone-backups"
  • $CLI_KINTONE:cli-kintone 主程式所在位置
  • $BACKUP_BASE_DIR:備份檔案要存放的資料夾

腳本執行時,會依照當天日期建立資料夾。例如在 2026-04-29 執行時,會建立以下資料夾:

C:\Users\使用者名稱\kintone-backups\2026-04-29

同時會在該日期資料夾中建立:

  • records_yyyyMMdd_HHmmss.csv:匯出的記錄 CSV 檔
  • attachments:附件下載資料夾

其中,以下這段指令是實際執行備份的部分:

& $CLI_KINTONE record export `
  --base-url $KINTONE_BASE_URL `
  --api-token $KINTONE_API_TOKEN `
  --app $KINTONE_APP_ID `
  --attachments-dir $ATTACHMENTS_DIR `
  --encoding utf8 `
  | Out-File -FilePath $CSV_FILE -Encoding utf8

各選項的用途如下:

  • record export:匯出指定 kintone 應用程式的記錄
  • --base-url:指定 kintone 環境 URL
  • --api-token:指定 API 權杖
  • --app:指定應用程式 ID
  • --attachments-dir:指定附件下載資料夾
  • --encoding utf8:以 UTF-8 編碼輸出 CSV
  • Out-File -FilePath $CSV_FILE -Encoding utf8:將 cli-kintone 的輸出結果儲存成 CSV 檔案

儲存後,將副檔名改為 .ps1。例如:

kintone-backup.ps1

⚠️ 注意:

  • 如果看不到副檔名,要先開啟「顯示副檔名」
  • 不要變成 kintone-backup.ps1.txt

若想先確認腳本是否能正常執行,可以開啟 PowerShell,切換到腳本所在資料夾後,手動執行:

.\kintone-backup.ps1

如果因為 PowerShell 執行原則而無法執行,可以先用本文後續工作排程器中的 -ExecutionPolicy Bypass 方式執行,或依照公司資訊安全規範調整 PowerShell 執行原則。

在工作排程器(Task Scheduler)進行設定

在「開始」搜尋「工作排程器」,並啟動程式。
點擊右方動作中的「建立基本工作」。

設定工作名稱。

選擇執行的時間。(本文以每天執行為例)

動作選擇「啟動程式」。

「程式或指令碼」中請輸入(或選擇)「powershell.exe」,並且在「新增引數」欄位中貼上以下引數(※ 請改成您實際的路徑與檔名):

-ExecutionPolicy Bypass -File "C:\Users\使用者名稱\kintone-backups\kintone-backup.ps1"

註:「開始位置」非必填,但建議填入腳本所在資料夾。例如:
C:\Users\使用者名稱\kintone-backups
實際路徑請依照自己的環境修改。

點擊「下一步」,完成設定。

完成示意圖

自動備份執行時,會依照日期建立資料夾,下載記錄 CSV 檔以及附件。

💡 補充:
附件的輸出資料夾會依照 cli-kintone 的規則建立。每一筆記錄中的每一個附件欄位都會建立一個資料夾,資料夾內會包含該筆記錄中對應附件欄位的所有附件檔案。

注意事項

使用 cli-kintone 匯出的記錄 CSV 格式與在 kintone 中直接匯出 CSV 的格式並不完全相同,因此無法將 cli-kintone 匯出的 CSV 直接拿來透過 kintone 畫面的「匯入檔案」功能匯入。

以下整理兩者常見差異:

項目 kintone 畫面匯出 CSV cli-kintone 匯出 CSV
欄位標題 以畫面上的欄位名稱為主 以欄位代碼為主
匯出方式 透過 kintone 畫面操作 透過命令列指令執行
附件 CSV 中不會直接包含附件檔案本體 可透過 --attachments-dir 下載附件
適合用途 臨時匯出、人工確認資料 定期備份、自動化處理、大量資料處理
自動化 需要額外人工操作 可搭配腳本與排程工具自動執行
匯入相容性 從 kintone 畫面匯入使用 使用 cli-kintone 匯入

此外,若應用程式中記錄數量或附件數量很多,請注意備份執行時間與 kintone 環境負載。建議將備份排程設定在使用者較少操作的時段,例如下班後或清晨,避免影響日常使用。

也建議定期檢查備份結果,例如:

  • CSV 檔案是否有正常產生
  • 附件資料夾是否有正常建立
  • 檔案大小是否明顯異常
  • 排程是否有持續執行
  • API 權杖是否過期、被刪除或權限被調整

結語

透過 cli-kintone 搭配 Mac 捷徑自動化或 Windows 工作排程器,可以將原本需要手動操作的 kintone 記錄備份流程改為自動執行。

本文範例會依照日期建立備份資料夾,並將指定應用程式的記錄 CSV 與附件檔案一併下載到本機資料夾中。對於需要定期保存資料、備份含附件記錄,或希望降低人工操作成本的情境來說,是相當實用的做法。

實際導入時,建議先從單一應用程式開始測試,確認備份內容、附件下載結果與排程執行狀況都符合預期後,再逐步擴展到其他需要備份的 kintone 應用程式。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言