在 Mac 環境下利用 Cron 定期執行 todoist-habitrpg (Habitica) 的方法

Itsuki Lin
文學少年 & 神話少女
3 min readMay 21, 2016

--

近期開始和朋友一起用了 Habitica,希望可以藉著社交跟遊戲的力量來養成好習慣。
Habitica 目前除了可以設定 Habit 以外,也可以設定 todo ,當成待辦事項 app 來用。但因為在 Habitca 上不能快速建立 todo、拖拉順序=整理 todo,操作起來非常不順手,因此我沒辦法把他當成我主力的 todo app 來用。
而此時我就發現有人寫了第三方工具 todoist-habitrpg

todoist-habitrpg
A small utility to help you keep your Todoist tasks in sync with HabitRPG.

todoist-habitrpg 可以把 Habitica 和知名的 todo 工具 Todoist 綁在一起。雖然只有單邊同步,也就是只能把 Todoist 的資料同步到 Habitica ,不能把 Habitica 的 todo 同步到 Todoist ,但對我來說已經很夠用,因為我只要在 Todoist 建立和打勾 todo 就好,todoist-habitrpg 會幫我同步到 Habitica 上去,讓我可以自動衝等(欸)。

但我依照 Readme 上的操作之後,雖然把 todoist-habitrpg 裝好也能下指令去同步兩方。但卻在用 Cron 來定期執行同步指令這邊卡得超悽慘。後來在網路上查了一堆資料後,總算找出問題所在。

要在 Cron 裡面下跑 Node 的程式或語法,一定要把 Node 指令跟 Node 套件的 js 都改成絕對路徑才行。也就是說把

*/10 * * * * todoist-habitrpg -u habitRpgUserId -t habitRpgApiToken -a todoistApiToken

改成

*/10 * * * * 放node的絕對路徑 放node程式的絕對路徑 -u habitRpgUserId -t habitRpgApiToken -a todoistApiToken

像我就是

*/10 * * * * /usr/local/bin/node /usr/local/lib/node_modules/todoist-habitrpg/main.js -u habitRpgUserId -t habitRpgApiToken -a todoistApiToken

每個人因為 Node 的裝法都不太一樣,所以位置會不一樣,請自行代換成自己的絕對路徑位置。

雖然搞這個搞了一天,但也因此學了 Cron 跟簡單的 vim 用法 XD

參考資料

--

--

Itsuki Lin
文學少年 & 神話少女

好的創意跟設計是「結合多種領域並要求細節與規劃」的產物。