crontab- maintain crontab files for individual users
—-是用來讓使用者在固定時間或固定間隔執行程式之用
crontab [-u username] [-l|-e|-r]
選項與引數:
-u :只有 root 才能進行這個任務,亦即幫其他使用者建立/移除 crontab 工作排程;
-e :編輯 crontab 的工作內容
-l :查閱 crontab 的工作內容
-r :移除所有的 crontab 的工作內容,若僅要移除一項,請用 -e 去編輯。
分 時 日 月 周 |<**********====指令串********************====>|
代表意義 分鐘 小時 日期 月份 周 指令
數字範圍 0-59 0-23 1-31 1-12 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 ,相同意思!
注意:
1. 當程式在你所指定的時間執行後,系統會寄一封信給你,顯示該程式執行的內容,若是你不希望收到這樣的信,請在每一行空一格之後加上 > /dev/null 2>&1 即可。
2. %在crontab中被認為是newline,要用\來escape才行。比如crontab執行行中,如果有」date +%y%m%d」,必須替換為:」date +\%y\%m\%d」
crontab中的輸出配置
crontab中經常配置執行指令碼輸出為:>/dev/null 2>&1,來避免crontab執行中有內容輸出。
shell命令的結果可以通過『> 』的形式來定義輸出
/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 表示標準錯誤輸出重定向等同於標準輸出,因為之前標準輸出已經重定向到了空裝置檔案,所以標準錯誤輸出也重定向到空裝置檔案。
linux例行性工作排程
什麼是例行性工作?比如太陽每天從東方公升起,學校的上課鈴總是不厭煩的定時響起,老媽的喊叫聲總在每天的固定時刻叫你起床等。這些都是例行性工作。linux系統也有自己的定時要辦的事情,比如日誌檔案的輪替,whatis資料庫的建立等等。linux例行性工作分一次性的 at 和迴圈執行的 cron 本篇部落...
Linux 例行性工作排程
所謂排程就是將這些工作安排執行的流程 1 linux工作排程的種類 at cron 兩種工作排程方式 1 例行性,每隔一定的週期要辦的事項 2 突發性,一次做完後就不再做的排程 at at是乙個可以處理僅執行一次就結束排程的指令,執行at需要有atd服務的支援 2 centos系統上常見的例行性工作...
Linux例行性工作排程
什麼是例行性工作排程 每個人或多或少都有一些約會或者是工作,有的工作是例行性的,例如每年一次的年會 每個月一次的工作報告 每週一次的週會 每天需要的打卡等等 有的工作則是臨時發生的,例如剛好有高層領導來訪,需要你準備演講器材等等!用在生活上面,例如每年的愛人的生日 每天的起床時間等等 還有突發性的商...