【Linux】crontab定时任务配置全过程
因為測試工作中需要在服務(wù)器上配置定時任務(wù)執(zhí)行腳本,使用到了linux 的crontab。特此記錄一下配置的整個流程。
crontab命令用于設(shè)置周期性被執(zhí)行的指令。該命令從標準輸入設(shè)備讀取指令,并將其存放于“crontab”文件中,以供之后讀取和執(zhí)行。
1.檢查是否安裝了crontab,如果提示未安裝請自行安裝,crontab安裝包在系統(tǒng)光盤里面的pacekage文件夾crontabs安裝包。
rpm -qa | grep crontab
2.crontab服務(wù)啟動與關(guān)閉。
/etc/init.d/crond stop ? ? ? ? ? --關(guān)閉服務(wù)
/etc/init.d/crond start ? ? ? ? ?--啟動服務(wù)
/etc/init.d/crond restart ? ? ? ?--重啟服務(wù)
/etc/init.d/crond reload ? ? ? ? --重新載入配置
3.crontab在/etc目錄下面存在cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d五個目錄和crontab,cron.deny二個文件。
cron.daily 是每天執(zhí)行一次的job
cron.weekly 是每個星期執(zhí)行一次的job
cron.monthly 是每月執(zhí)行一次的job
cron.hourly 是每個小時執(zhí)行一次的job
cron.d 是系統(tǒng)自動定期需要做的任務(wù)
crontab 是設(shè)定定時任務(wù)執(zhí)行文件
cron.deny 是用于控制不讓哪些用戶使用Crontab的功能的文件
4.用戶配置文件
每個用戶都有自己的cron配置文件,通過crontab -e 就可以編輯,一般情況下我們編輯好用戶的cron配置文件保存退出后,
系統(tǒng)會自動就存放于/var/spool/cron/目錄中,文件以用戶名命名。linux的cron服務(wù)是每隔一分鐘去讀取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的內(nèi)容。
5.crontab文件格式
minute: 表示分鐘,可以是從0到59之間的任何整數(shù)。
hour:表示小時,可以是從0到23之間的任何整數(shù)。
day:表示日期,可以是從1到31之間的任何整數(shù)。
month:表示月份,可以是從1到12之間的任何整數(shù)。
week:表示星期幾,可以是從0到7之間的任何整數(shù),這里的0或7代表星期日。
command:要執(zhí)行的命令,可以是系統(tǒng)命令,也可以是自己編寫的腳本文件。
6.特殊字符:
星號(*):代表每的意思,例如month字段如果是星號,則表示每月都執(zhí)行該命令操作。
逗號(,):表示分隔時段的意思,例如,“1,3,5,7,9”。
中杠(-):表示一個時間范圍,例如“2-6”表示“2,3,4,5,6”。
正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執(zhí)行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute字段,表示每十分鐘執(zhí)行一次。
下面以一個實例來說明整個流程:
1.首先在/home/mstest目錄下面創(chuàng)建一個sh腳本test.sh,給test.sh腳本執(zhí)行賦權(quán)chmod a+x test.sh;
2.然后運行crontab –e 編寫一條定時任務(wù) */5 * * * * /home/mstest/test.sh,在每5分鐘執(zhí)行一次test.sh腳本。?
3.可以 crontab -l 查詢當前用戶定時任務(wù),或者 crontab -r ?刪除當前用戶所有定時任務(wù) ?
4.5分鐘后查看任務(wù)執(zhí)行情況
備注:新創(chuàng)建的cron job,不會馬上執(zhí)行,至少要過2分鐘才執(zhí)行。如果重啟cron則馬上執(zhí)行。
具體實例
0 0 8 * * ? ? ? ? ? 每天8點執(zhí)行一次
0 0/15 8-23 * * ? ? 每天8~23點、隔15分鐘執(zhí)行一次
總結(jié)
以上是生活随笔為你收集整理的【Linux】crontab定时任务配置全过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 以串结构存储c语言版,数据结构C语言版
- 下一篇: 百度智能云文档汇总