crontab 簡單梳理

2021-07-28 04:00:12 字數 2779 閱讀 1725

基本格式 :

*  *  *  *  *  command

分 時 日 月 周 命令

第1列表示分鐘1~59每分鐘用*或者 */1表示

第2列表示小時1~23(0表示0點)

第3列表示日期1~31

第4列表示月份1~12

第5列標識號星期0~6(0表示星期天)

第6列要執行的命令

延遲一秒,需要用到 sleep 1; 這個引數,注意是分號「;」

比如零點零一分零一秒執行乙個指令碼:

0 0 * * * sleep 1; sh /root/test.sh

例子:45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每月1、10、22日的4 : 45重啟apache。

上面的例子表示每週

六、週日的1 : 10重啟apache。

上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache。

上面的例子表示每星期六的11 : 00 pm重啟apache。

每一小時重啟apache

晚上11點到早上7點之間,每隔一小時重啟apache

每月的4號與每週一到週三的11點重啟apache

一月一號的4點重啟apache

crontab 是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是類似使用者的時程表。-u user 是指設定指定

user 的時程表,這個前提是你必須要有其許可權(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user 的話,就是表示設定自己的時程表。

crontab file [-u user]-用指定的檔案替代目前的crontab。

時程表的格式如下 :

f1 f2 f3 f4 f5 program

其中 f1 是表示分鐘,f2 表示小時,f3 表示乙個月份中的第幾日,f4 表示月份,f5 表示乙個星期中的第幾天。program 表示要執

行的程式。

當 f1 為 * 時表示每分鐘都要執行 program,f2 為 * 時表示每小時都要執行程式,其餘類推

當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內要執行,f2 為 a-b 時表示從第 a 到第 b 小時都要執行,其餘類推

當 f1 為 */n 時表示每 n 分鐘個時間間隔執行一次,f2 為*/n 表示每 n 小時個時間間隔執行一次,其餘類推

當 f1 為 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,f2 為 a, b, c,... 時表示第 a, b, c...個小時要執行,其餘類推  www.2cto.com  

使用者也可以將所有的設定先存放在檔案 file 中,用crontab file 的方式來設定時程表。

例子 :  

● 0 */2 * * * /sbin/service httpd restart  意思是每兩個小時重啟一次apache

● 50 7 * * * /sbin/service sshd start  意思是每天7:50開啟ssh服務

● 50 22 * * * /sbin/service sshd stop  意思是每天22:50關閉ssh服務

● 0 0 1,15 * * fsck /home  每月1號和15號檢查/home 磁碟

● 1 * * * * /home/bruce/backup  每小時的第一分執行 /home/bruce/backup這個檔案

● 00 03 * * 1-5 find /home "*.***" -mtime +4 -execrm {} /;  每週一至周五3點鐘,在目錄/home中,查詢檔案名為*.***的檔案,並刪除4天前的檔案。

● 30 6 */10 * * ls  意思是每月的1、11、21、31日是的6:30執行一次ls命令

www.2cto.com  

#每天早上7點執行一次 /bin/ls :

0 7 * * * /bin/ls

在 12 月內, 每天的早上 6 點到 12 點中,每隔3個小時執行一次 /usr/bin/backup :

0 6-12/3 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信給[email protected] :

0 17 * * 1-5 mail -s "hi" [email protected]

每月每天的午夜 0 點 20 分, 2 點 20 分, 4 點 20 分....執行 echo"haha"

20 0-23/2 * * * echo "haha"

當程式在你所指定的時間執行後,系統會寄一封信給你,顯示該程式執行的內容,若是你不希望收到這樣的信,請在每一行空一格之

後加上 > /dev/null 2>&1 即可

crontab簡單使用

crontab是運維人員常用的命令,用來執行定時任務。首先隨便在 新建乙個檔案 touch bboysoul 接著編輯crontab的配置檔案,輸入 crontab e 輸入50 echo bboysoul 1 home bboysoul 51 echo bboysoul 2 home bboyso...

hive DML 簡單梳理

環境相關 os centos release 6.9 ip 192.168.77.10 hadoop 2.6.0 cdh5.7.1 hive 1.1.0 cdh5.7.1 mysql5.1 hive的dml中,update和delete一般不會用,生產資料是不會刪除的,常用overwrite和loa...

rabbitmq 簡單梳理

概念 生產者 producer,簡寫p 負責發布訊息。交換機 exchange,簡寫x 負責中轉訊息。路由 route,簡寫r 即 x q的路線名。訊息佇列 queue,簡寫q 負責臨時儲存訊息。消費者 customer,簡寫c 負責處理訊息。完整關係 p 負責發布訊息,可繫結到乙個exchange...