Step 1.使用ssh連線:
(需在qnap的「網路&檔案服務」內勾選允許ssh連線)
連線方式:開啟電腦終端機軟體以admin帳號連線qnap主機的server
ssh admin@xxx.xxx.xxx.xxx <--後面xxx是ip按下enter後接著輸入管理者密碼
Step 2.進入crontab編輯指令
一般linux版本會使用crontab -e進入編輯crontab,但是以這種方式qnap再主機重啟的時候會覆蓋寫好的配置,所以在qnap上應該輸入下列指令進入vi編輯模式
vi /etc/config/crontab
Step 3. vi編輯模式
一開始進入的時候只是vi的一般模式(只能上下左右移動),按一下鍵盤的i鍵,即可進入輸入模式(下方會出現--insert--字樣),這樣才可以開始輸入打字
Step 4. 範例:定時執行php程式
這次要紀錄的是在qnap上設定crontab 定期執行qnap虛擬主機網頁上的某個php檔案,
在步驟3進入編輯後,新增一行下方的cron job設定:
以下是設定每五分鐘執行一次 xxx.com.tw 網址下的xxx.php程式
*/5 * * * * /usr/bin/wget http://xxx.com.tw/xxx.php
※因為自己的虛擬主機有設定網址轉址,所以直接輸入網址,這部分如果直接執行qnap主機的內部位置,譬如 /share/CACHEDEV1_DATA/web/xxx/xxx.php 無法順利執行(這部分還沒研究是什麼原因),另外只有寫http網址也無法解析php檔案,所以前面加上/usr/bin/wget,以wget來執行。
Step 5. 儲存離開vim編輯模式
完成步驟4的編輯後,按一下esc跳離vi編輯模式,再按一下鍵盤的 : 然後按下enter鍵
就會跳離編輯區,在左下方出現:符號,接著輸入wq (儲存後離開)按下enter,便可儲存跳離vi編輯器。(如果想離開但是不儲存,則輸入q!)
Step 6. 重新啟動crontab
輸入以下指令重新啟動crontab
crontab /etc/config/crontab && /etc/init.d/crond.sh restart
Step 7. 檢查crontab
重新啟動crontab後,可輸入 crontab -l (小寫的L)
檢查剛剛新增的cron工作
參考網址:
https://wiki.qnap.com/wiki/Add_items_to_crontab
https://forum.qnap.com/viewtopic.php?t=14673
https://forum.qnap.com/viewtopic.php?f=32&t=40809