crontab命令用於設定週期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於「crontab」檔案中,以供之後讀取和執行。
1.檢查是否安裝了crontab,如果提示未安裝請自行安裝,crontab安裝包在系統光碟裡面的pacekage資料夾crontabs安裝包。
rpm -qa | grep crontab
安裝crontab
yum install vixie-cron
yum install crontabs
vixie-cron軟體包是cron的主程式;
crontabs軟體包是用來安裝、卸裝、或列舉用來驅動 cron 守護程序的**的程式。
2.crontab服務啟動與關閉。
/etc/init.d/crond stop --關閉服務
/etc/init.d/crond start --啟動服務
/etc/init.d/crond restart --重啟服務
/etc/init.d/crond reload --重新載入配置
service crond status //檢視狀態
chkconfig crond on //設定開機自動啟動crond服務
chkconfig –list crond //開機級別的crond服務運**況 ,2、3、4、5級別開機會自動啟動crond服務
chkconfig crond off //取消開機自動啟動crond服務
執行的指令碼:(兩種)
1)、在命令列輸入: crontab -e 然後新增相應的任務,wq存檔退出。
crontab -l //列出當前的所有排程任務
crontab -l -u jp //列出使用者jp的所有排程任務
crontab -r //刪除所有任務排程工作
前四行是有關設定cron任務執行的環境變數。
1、shell:變數的值指定系統使用的shell環境(該樣例為bash shell),
2、path:變數定義了執行命令的路徑。
3、mailto: cron的輸出以電子郵件的形式發給mailto變數定義的使用者名稱。如果mailto變數定義為空字串(mailto=""),電子郵件不會被傳送。
4、home: 執行命令或指令碼時home變數可用來設定基目錄
3.crontab用於配置定時任務,主要引數是:
-e:編輯當前使用者的定時任務
-r:刪除當前使用者的定時任務
-l:列出當前使用者的定時任務
4.其一般格式是:
* * * * * shell_command
# 第乙個*號表示分鐘:範圍在0-59
# 第二個*號表示小時:0-23
# 第三個*號表示乙個月的第幾天:1-31
# 第四個*號表示月份:1-12;或者英文縮寫,例如jan等
# 第五個*號表示星期:0-6,(星期天=0或者7);或者英文縮寫,例如sun,mon,fri等
# shell_command:命令列指令碼命令
# 每天凌晨1:30執行
30 1 * * * echo "test_crontab" >> /home/test_crontab.log
# 每週一到周五的中午12點執行
0 12 * * 1-5 /home/test_crontab/test.sh
# 每個月15號的2點鐘執行
0 2 15 * * /home/test_crontab/test.sh
# 每天的2:30和17:30執行
30 2,17 * * * /home/test_crontab/test.sh
# 每10分鐘執行
*/10 * * * * /home/test_crontab/test.sh
# 每2小時執行
0 */2 * * * /home/test_crontab/test.sh
# 在每年的6月份,每天8-12點,每隔2小時執行
0 8-12/2 * 6 * /home/test_crontab/test.sh
# 每天的8-18點,每隔2小時的15分執行
15 8-18/2 * * * /home/test_crontab/test.sh
# 1月1日早上4點
0 4 1 1 * command line shell=/bin/bash path=/sbin:/bin:/usr/sbin:/usr/bin mailto=root //如果出現錯誤,或者有資料輸出,資料作為郵件發給這個帳號 home=/
# 每小時執行/etc/cron.hourly內的指令碼
01 * * * * root run-parts /etc/cron.hourly
# 每天執行/etc/cron.daily內的指令碼
02 4 * * * root run-parts /etc/cron.daily
# 每星期執行/etc/cron.weekly內的指令碼
22 4 * * 0 root run-parts /etc/cron.weekly
# 每月去執行/etc/cron.monthly內的指令碼
42 4 1 * * root run-parts /etc/cron.monthly
注意: "run-parts"這個引數了,如果去掉這個引數的話,後面就可以寫要執行的某個指令碼名,而不是資料夾名。
# 每週一,三,五的下午3:00系統進入維護狀態,重新啟動系統。
00 15 * * 1,3,5 shutdown -r +5
6.特殊字元:
星號(*):代表每的意思,例如month欄位如果是星號,則表示每月都執行該命令操作。
逗號(,):表示分隔時段的意思,例如,「1,3,5,7,9」。(英文的逗號)
中槓(-):表示乙個時間範圍,例如「2-6」表示「2,3,4,5,6」。
正斜線(/):可以用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鐘執行一次。
兩個大於號(>>):表示輸出結果重定向到指定檔案,以便檢視執行過程和結果
7.查詢定時任務執**況:
cat /var/log/cron
或者:cat /var/spool/mail/root
# 通過mail檢視,root此時表示當前使用者;其他使用者也有對應mail檔案
如果結果檔案內容太長,可以使用 more 或 less 或 tail 等檢視。 Linux crontab設定定時任務
crontab用於定時任務 crontab e 編輯 crontab l 檢視任務 crontab r 刪除任務 慎用 command minute hour day month week command 分 時 天 月 星期 命令 minute 表示分鐘,可以是從0到59之間的任何整數。hour ...
Linux crontab設定定時任務
crontab用於定時任務 crontab e 編輯 crontab l 檢視任務 crontab r 刪除任務 慎用 command minute hour day month week command 分 時 天 月 星期 命令minute 表示分鐘,可以是從0到59之間的任何整數。hour 表...
Linux Centos7 設定MySql定時備份
一 檢視是否安裝了必要的元件 root localhost rpm qa grep cron cronie 1.4.11 14.el7 2.1.x86 64 cronie anacron 1.4.11 14.el7 2.1.x86 64 crontabs 1.11 6.20121102git.el7...