00 */1 * * * wget http://www.test.com/cron/archieve
我想知道在命令的末尾使用> /dev/null 2>&1
的差異,如果它的recomended。
00 */1 * * * wget http://www.test.com/cron/archieve
我想知道在命令的末尾使用> /dev/null 2>&1
的差異,如果它的recomended。
如果不加> /dev/null 2>&1
,該命令的輸出將被郵寄給用戶,這個cron作業運行時 - 可能是你。
我可以想象你不想用cron作業被垃圾郵件 - 但這是你
編輯:解釋什麼> /dev/null 2>&1
的真正含義。
有3個標準文件描述符:0(標準輸入),1(標準輸出)和2(標準錯誤)。 > file
與1> file
相同,換句話說,重定向std。文件描述符1(標準輸出)到文件。
2>&1
表示重定向std。文件描述符2(stderr)到1(stdout)被重定向到的相同位置。
最後,的> /dev/null 2>&1
裝置充分發揮作用既輸出和錯誤重定向到/dev/null
,換言之使該程序完全沉默
感謝您的解釋!我是否也應該在'-O/dev/null'中使用'wget'? –
我想你可以,但這意味着你將'wget'的輸出保存到'/ dev/null'中。如果是這樣的話,爲什麼在第一個地方把'wget'換成cron?它不會做任何事情,是嗎?或者你想發出GET請求來顯示你的服務器是活着的嗎? – mvp
如果結果對您無關緊要,您可以在> /dev/null 2>&1
中重定向stdio/stderr流。看到一些例子:
[email protected]:~/dev$ ls
arm-2011.03-42-arm-none-eabi.bin linux
backup_from_ak linux-3.4.6.tar.bz2
bc-1.06 linux.tar.gz
CodeSourcery mach-lpc32xx
[email protected]:~/dev$ ls > /dev/null 2>&1
[email protected]:~/dev$
'>的/ dev/null的2>&1'只沉默的輸出。不過,我不知道用cron運行時會發生什麼。 – Xymostech
我寧願建議將標準輸出和錯誤重定向到某個給定的文件,例如'> wget.out 2>&1'然後你可以看看'wget.out'如果你懷疑有些問題 –
可能追加而不是覆蓋,雖然;否則下一次運行會截斷該文件,可能在您有機會檢查它之前。但是,這需要您設置一些日誌輪換。更好的恕我直言,以無聲模式運行'wget'('-q'選項;只有錯誤輸出),並允許'cron'在有事情需要報告時給你發電子郵件。 – tripleee