備份Obsidian Vault

 

macOS 上自動化備份 Obsidian Vault  

在 macOS 上自動化備份 Obsidian Vault 的方法:使用內建的 rsync 編寫腳本,以及使用圖形化工具 FreeFileSync 設定排程。

1. 使用 rsync 編寫腳本 (macOS 內建) 

rsync 是一個強大的命令行工具,用於檔案同步和備份。你可以編寫一個 Shell 腳本來自動執行備份。

步驟:

  1. 開啟「終端機」應用程式 (/應用程式/工具程式/終端機.app)。

  2. 創建一個新的腳本檔案:

    nano ~/backup_obsidian.sh
    
  3. 在腳本檔案中輸入以下內容(請替換為你的實際路徑):

    #!/bin/bash
    
    # 設定你的 Obsidian Vault 路徑
    vault_path="/Users/你的使用者名稱/你的ObsidianVault資料夾名稱"
    
    # 設定你的備份目標路徑 (例如外接硬碟上的資料夾)
    backup_path="/Volumes/你的外接硬碟名稱/ObsidianBackup"
    
    # 確保備份目標路徑存在,如果不存在則創建它
    mkdir -p "$backup_path"
    
    # 使用 rsync 進行備份
    rsync -av "$vault_path/" "$backup_path/"
    
    echo "Obsidian Vault 備份完成於 $(date)"
    
  4. 儲存並關閉腳本 (Ctrl + O, Enter, Ctrl + X)。

  5. 使腳本可執行:

    chmod +x ~/backup_obsidian.sh
    
  6. 設定自動執行 (使用 launchd):
    創建或編輯 ~/Library/LaunchAgents/com.yourname.backupobsidian.plist 檔案,內容如下(請替換你的使用者名稱和腳本路徑):

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "[http://www.apple.com/DTDs/PropertyList-1.0.dtd](http://www.apple.com/DTDs/PropertyList-1.0.dtd)">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.yourname.backupobsidian</string>
        <key>ProgramArguments</key>
        <array>
            <string>/Users/你的使用者名稱/backup_obsidian.sh</string>
        </array>
        <key>StartInterval</key>
        <integer>86400</integer>
        <key>StandardErrorPath</key>
        <string>/tmp/backup_obsidian.err</string>
        <key>StandardOutPath</key>
        <string>/tmp/backup_obsidian.log</string>
    </dict>
    </plist>
    
  7. 載入 launchd 配置:

    launchctl load ~/Library/LaunchAgents/com.yourname.backupobsidian.plist
    

2. 使用 FreeFileSync 設定排程 

FreeFileSync 是一個免費的圖形化檔案同步軟體。

步驟:

  1. 下載並安裝 FreeFileSync (https://freefilesync.org/)。

  2. 開啟 FreeFileSync 並設定同步對(來源為 Obsidian Vault,目標為備份位置)。

  3. 設定同步模式(建議「更新」或「鏡像」)。

  4. 儲存設定為 .ffs_batch 檔案。

  5. 設定排程 (使用 macOS 的 open 命令和 launchd):

    • 創建執行批次檔的腳本 (~/run_ffs_backup.sh):
      #!/bin/bash
      /Applications/FreeFileSync.app/Contents/MacOS/FreeFileSync "/Users/你的使用者名稱/ObsidianBackup.ffs_batch"
      
    • 使腳本可執行 (chmod +x ~/run_ffs_backup.sh)。
    • 使用 launchd 設定排程(創建或編輯 plist 檔案,指向你的腳本)。
    • 載入 launchd 配置 (launchctl load ...)。