[Mac] 用 Automator 的 Folder Action,自動將痞客邦備份檔移到 Dropbox
自從搬到痞客邦上寫網誌之後,就常常有個習慣是要備份網誌,
免得有什麼意外發生,心血就都沒了 (不過網誌備份不含圖片,有點麻煩…)
平常按下 匯入匯出備份 > 匯出備份檔 的話,最後是自動下載到 ~/Downloads 目錄,
然後我就會再手動去把它移動到 Dropbox 目錄裡面,確保它有同步到雲端上面去~
不過這個移動檔案的動作每次都要做,有點麻煩,有什麼方法可以自動化呢?
其實像這種固定的工作,很適合用 Mac 的 Folder Action 來自動化,來看看怎麼做吧~
1. 開啟 Automator
按下 F4 > 搜尋 Automator,就能把 Automator 叫出來,
接著選擇 Folder Action:
Folder Action 會將一個工作流程 (Workflow) 附加在一個目錄上面,
當目錄裡有新增時,就會觸發這個工作流程~
當我們選擇 Folder Action 之後,就可以看到如下的畫面,
讓我們開始設計這個工作流程:
2. 設定這個 Folder Action 的工作流程
痞客邦匯出的備份檔檔名開頭固定是 blog-export-xxx,因此我想做的事情是:
當有檔案被新增到 ~/Downloads 目錄時,先把 Dropbox 裡舊的備份檔刪掉,
再將新的備份檔移動到 Dropbox 目錄下~
要撰寫這樣的工作流程有許多方法,可以直接用 Files & Folders 類別下的 Move file,
但我自己實驗了幾次,雖然我都是先 Move (Dropbox) file to Trash,
再 Move (Download) File to folder,但最後兩邊目錄的檔案都不見了,
讓我有點懷疑是不是 Move (Dropbox) file to Trash 還沒做完時,
就先跑去做了 Move (Download) file to folder,然後最後才把 Move (Dropbox) file to Trash 做完,
導致 Downloads 和 Dropbox 目錄下的備份檔都不見了…
由於我對 Automator 才剛開始學,不太理解這邊的奧秘為何…
後來用的是另一種方法,就是直接執行 shell script,
這樣要做的事情都由我的 script 來做,避開上述的奇怪問題~
先選擇右上方的 Folder Action receives files and folders added to,
決定這個 Folder Action 是應用到哪個目錄 (本例中是 ~/Downloads)。
接著從 Utilities 那邊拉一個 Run Shell Script 區塊到右邊,
在裡面打入下面的 shell script:
rm -rf ~/Dropbox/Settings/blog-export* mv ~/Downloads/blog-export* ~/Dropbox/Settings/
設定好的畫面像下面這樣:
按下 Cmd+S 儲存,決定好這個 Folder Action 的名稱:
這樣子就完成了~
只要有檔名開頭 blog-export 的檔案被加到 ~/Downloads 目錄時,
就會執行 shell script 的內容,先刪掉 ~/Dropbox/Settings/blog-export*,
再把 ~/Downloads 目錄下的 blog-export* 移到 Dropbox 目錄下去~
再也不用自己動手了,很方便呀~^^