我對cron和crontab相當陌生。crontab和測試要執行的命令
我編輯了crontab文件,我需要手動執行其中一個命令,以便我可以嘗試並預先測試它。我怎麼做?如果失敗,是否有一個顯示錯誤的模式?
我對cron和crontab相當陌生。crontab和測試要執行的命令
我編輯了crontab文件,我需要手動執行其中一個命令,以便我可以嘗試並預先測試它。我怎麼做?如果失敗,是否有一個顯示錯誤的模式?
cron
幾乎沒有提供任何環境 - 所以你的腳本可能不得不解決這個問題。特別是,您的個人資料將不會被使用。不,沒有具體顯示錯誤的模式。通常,如果cron作業有問題,輸出將通過電子郵件發送給您。也就是說,如果執行的命令將任何內容寫入標準輸出或標準錯誤,它會向您發送標準輸出和標準錯誤信息。
在MacOS X(10.6.7),我得到的環境下(通過crontab
進入像12 37 17 5 * env >/tmp/cron.env
):
SHELL=/bin/sh
USER=jleffler
PATH=/usr/bin:/bin
PWD=/Users/jleffler
SHLVL=1
HOME=/Users/jleffler
LOGNAME=jleffler
_=/usr/bin/env
其中,PWD
,_
和SHLVL
由shell進行處理。因此,爲了可靠地測試你的腳本在cron般的環境中,使用:
(cd $HOME
env -i \
SHELL=/bin/sh \
USER=$USER \
PATH=/usr/bin:/bin \
HOME=$HOME \
LOGNAME=$LOGNAME \
/path/to/script/you/execute ...
)
的-i
選項env
手段「忽略所有繼承的環境」;該腳本將完全看到指定的五個值以及shell自動指定的任何值。沒有參數,env
報告環境;有參數,它調整環境並執行命令。
執行腳本「手動」你首先必須做,使其可執行:
$ chmod +x yourScriptName
然後做任何
$ ./yourScriptName
如果從它的路徑執行它
或
$ /full/path/to/yourScriptName
從任何地方。