crontab命令解釋
阿新 • • 發佈:2018-12-24
常用命令:
crontab [-u username] [-l|-e|-r]
選項與引數:
-u :只有 root 才能進行這個任務,亦即幫其他使用者建立/移除 crontab 工作排程;
-e :編輯 crontab 的工作內容
-l :查閱 crontab 的工作內容
-r :移除所有的 crontab 的工作內容,若僅要移除一項,請用 -e 去編輯
安裝crontab: yum install crontabs 服務操作說明: /sbin/service crond start //啟動服務 /sbin/service crond stop //關閉服務 /sbin/service crond restart //重啟服務 /sbin/service crond reload //重新載入配置 /sbin/service crond status //啟動服務 檢視crontab服務是否已設定為開機啟動,執行命令: ntsysv 加入開機自動啟動: chkconfig –level 35 crond on
使用方法:
舉例: 寫一個每隔 五分鐘 執行的檔案
*/5 * * * * /usr/local/php/bin/php /home/wwwroot/default/push.php
/usr/local/php/bin/php : PHP 的安裝路徑
/home/wwwroot/default/push.php 需要執行的指令碼檔案
* * * * * command
分 時 日 月 周 命令
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0/7表示星期天 )
特殊字元 | 代表意義 |
---|---|
*(星號) | 代表任何時刻都接受的意思!舉例來說,範例一內那個日、月、周都是 * , 就代表著『不論何月、何日的禮拜幾的 12:00 都執行後續命令』的意思! |
,(逗號) | 代表分隔時段的意思。舉例來說,如果要下達的工作是 3:00 與 6:00 時,就會是:0 3,6 * * * command 時間引數還是有五欄,不過第二欄是 3,6 ,代表 3 與 6 都適用! |
-(減號) | 代表一段時間範圍內,舉例來說, 8 點到 12 點之間的每小時的 20 分都進行一項工作:20 8-12 * * * command 仔細看到第二欄變成 8-12 喔!代表 8,9,10,11,12 都適用的意思! |
/n(斜線) | 那個 n 代表數字,亦即是『每隔 n 單位間隔』的意思,例如每五分鐘進行一次,則:/5 * * * command很簡單吧!用 * 與 /5 來搭配,也可以寫成 0-59/5 ,相同意思! |
解釋: >/dev/null 2>&1
os.system("/etc/init.d/winbind stop >/dev/null 2>&1")
(>/dev/null) 將輸出重定向到/dev/null,這是個空裝置,也就是忽略其輸出。
2>&1 是將錯誤輸出到標準輸出,如果在控制檯除錯,也就是螢幕上,方便除錯。
有3個預設的i/o,0是標準輸入,一般是鍵盤;1是標準輸出,一般是螢幕了;2是標準錯誤。
/dev/null 代表空裝置檔案
:>代表重定向到哪裡,例如:echo “123” > /home/123.txt
1 表示stdout標準輸出,系統預設值是1,所以">/dev/null"等同於"1>/dev/null"
2 表示stderr標準錯誤
& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1
那麼本文標題的語句:
1>/dev/null 首先表示標準輸出重定向到空裝置檔案,也就是不輸出任何資訊到終端,說白了就是不顯示任何資訊。
2>&1 接著,標準錯誤輸出重定向等同於 標準輸出,因為之前標準輸出已經重定向到了空裝置檔案,所以標準錯誤輸出也重定向到空裝置檔案。