如果:
0 */15 * * * ./usr/My_PATH/run.sh
失敗,此錯誤:
0 command not found
然後你想運行它作爲一個shell命令。您需要將其提供給crontab
命令。有幾種方法可以做到這一點。
crontab -l
將列出您的crontab的當前內容;它不會修改它。
crontab -e
將在文本編輯器中打開(複製)您的crontab並讓您修改它。這可能是更新它的最簡單方法。
crontab filename
讀取指定的文件,用您的當前crontab替換的內容。 (如果你已經有一個crontab,這將悄悄地打開它。)
我建議的方法是保留一個包含你的crontab的單獨文件(比如crontab.txt
)。
首先,如果你已經有一個非空的crontab(與crontab -l
檢查),將其保存到文件:任何增加或其他變化,你想該文件
crontab -l > crontab.txt
製作,然後使用
crontab crontab.txt
安裝更新的crontab。
你可以保留備份副本(我維護我的源代碼管理系統),這樣你就可以恢復,如果你搞砸了。如果你想測試一些東西,你可以快速執行crontab -e
,然後重新運行crontab crontab.txt
以恢復到存儲的crontab。
你提問中的crontab行的語法:
0 */15 * * * ./usr/My_PATH/run.sh
是正確的,但路徑./usr/My_PATH/run.sh
看起來可能是不正確的。 Cron作業從您的主目錄運行,因此只有當usr
目錄直接位於您的主目錄下時(這種情況下不需要./
),路徑纔有效。指定完整路徑可能更好,可以從$HOME/
開始。
是你的腳本的正確路徑?該腳本是否有正確的#!家當? –
是的,當我運行./run.sh它的作品。 – deltascience
'。/ usr'的意思是「在這個作業運行的用戶帳戶的主目錄中」,所以除非你的腳本是'/ home/tantaoui/usr/My_Path/run.sh',否則... –