crontab 命令詳解(筆記)
# crontab 詳解https://www.cnblogs.com/intval/p/5763929.html
*/1 * * * * /bin/sh /server/scripts/echo.sh
前面一共有5 個* 號,每個*號各表示不同的意思
第一位代表 分鐘
取值從0-59 ,可以寫單個值,如 */1 * * * * /bin/sh /server/scripts/echo.sh 表示每分鐘執行一次。
第二位代表小時
取值從0-23 可以設定
如 * */1 * * * /bin/sh /server/scripts/echo.sh 表示每小時執行一次指令碼
如 */10 0-10 * * * /bin/sh /server/scripts/echo.sh 表示0-10點,每10分鐘執行一次
如 10,15 10-15 * * * /bin/sh /server/scripts/echo.sh 表示每天的10-15點,每10分鐘和15分鐘執行一次。
如 45 4 1,10,22 * * /etc/init.d/smb restart 表示每月的1,10,22號的4,45 分重啟smb 服務
*/1 * * * */bin/sh/scripts/data.sh
上述例子表示,每隔1分鐘執行一次/bin/sh/scripts/data.sh指令碼
30 3,12 * * */bin/sh/scripts/data.sh
本例中第一列為30,表示30分鐘,第二輪為3,12 ,這表示3點和12點,那麼這個定時任務的意思是(凌晨3.30和12.30)執行bin/sh/scripts/data.sh 命令
30 */6 * * */bin/sh/scripts/data.sh
在本例中,第一個表示30分鐘,第二列是*/6代表6小時,也相當於6,12,18,24的作用。
那麼定時任務的意思就是每個6小時的第30分鐘執行後面的任務。
30 8-18/2 * * */bin/sh/scripts/data.sh
在本例中中,第一列為30分鐘,第二列為8-18/2 代表,在造成8點到下午18點之間的每2小時,相當於8,10,12,14,16,18的作用。
那麼,此時定時任務的意思就是在早晨8點到下午18點之間,每隔2小時的30分鐘執行指令碼。
第三位代表號 取值從1-31
第四位代表月從1-12
第五位代表周從0-6 0代表週日,6代表週六
2.Crontab 依賴的服務
[[email protected] /]# chkconfig --list|grep crond
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[[email protected] /]# /etc/init.d/crond status
crond (pid 1399) is running...
3.Crontab 特殊符號含義如下
預設情況下,使用者建立的crontab 檔案存在於/var/spool/cron中,其crontab對應的檔案與使用者名稱一致。
格式分為七段,前五段為時間設定段,第六段為那個使用者執行crontab(預設是由當前賬號執行),第七段是所要執行的命令段
格式如下
0 1 * * * * root run-parts /etc/cron hourly