Linux 定时任务crontab_014
1、??crontab命令概念
?
crontab命令用于設(shè)置周期性被執(zhí)行的指令。該命令從標(biāo)準(zhǔn)輸入設(shè)備讀取指令,并將其存放于“crontab”文件中,以供之后讀取和執(zhí)行。
?
?
cron 系統(tǒng)調(diào)度進(jìn)程。 可以使用它在每天的非高峰負(fù)荷時(shí)間段運(yùn)行作業(yè),或在一周或一月中的不同時(shí)段運(yùn)行。cron是系統(tǒng)主要的調(diào)度進(jìn)程,可以在無(wú)需人工干預(yù)的情況下運(yùn)行作業(yè)。
crontab命令允許用戶提交、編輯或刪除相應(yīng)的作業(yè)。每一個(gè)用戶都可以有一個(gè)crontab文件來(lái)保存調(diào)度信息。系統(tǒng)管理員可以通過(guò)/etc/cron.deny 和 /etc/cron.allow 這兩個(gè)文件來(lái)禁止或允許
用戶擁有自己的crontab文件。
?
?
2、檢查是否安裝了crontab,如果提示未安裝請(qǐng)自行安裝,crontab安裝包在系統(tǒng)光盤里面的pacekage文件夾crontabs安裝包。
?
?
?
?
3、??crontab服務(wù)啟動(dòng)與關(guān)閉。
?
?
?
4、??全局配置文件:
?
crontab在/etc目錄下面存在cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d五個(gè)目錄和crontab,cron.deny二個(gè)文件。
?
?
cron.daily是每天執(zhí)行一次的job
cron.weekly是每個(gè)星期執(zhí)行一次的job
cron.monthly是每月執(zhí)行一次的job
cron.hourly是每個(gè)小時(shí)執(zhí)行一次的job
cron.d是系統(tǒng)自動(dòng)定期需要做的任務(wù)
crontab是設(shè)定定時(shí)任務(wù)執(zhí)行文件
cron.deny文件就是用于控制不讓哪些用戶使用Crontab的功能
?
?
5、??用戶配置文件:
?
每個(gè)用戶都有自己的cron配置文件,通過(guò)crontab -e 就可以編輯,一般情況下我們編輯好用戶的cron配置文件保存退出后,系統(tǒng)會(huì)自動(dòng)就存放于/var/spool/cron/目錄中,文件以用戶名命名.linux的cron服務(wù)是每隔一分鐘去讀取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的內(nèi)容.
?
?
?
6、??crontab文件格式:
?
? * ? ? ? ? ? * ? ? ? ?* ? ? ? ?* ? ? ? ?* ? ? ? ? ? command
minute ??hour ???day ??month ??week ?????command
分 ? ? ? ? ?時(shí)???????? 天? ??? 月 ? ? ? ?星期?????? 命令
?
?
minute:?表示分鐘,可以是從0到59之間的任何整數(shù)。
hour:表示小時(shí),可以是從0到23之間的任何整數(shù)。
day:表示日期,可以是從1到31之間的任何整數(shù)。
month:表示月份,可以是從1到12之間的任何整數(shù)。
week:表示星期幾,可以是從0到7之間的任何整數(shù),這里的0或7代表星期日。
command:要執(zhí)行的命令,可以是系統(tǒng)命令,也可以是自己編寫的腳本文件。
?
?
7、?特殊字符:
?
星號(hào)(*):代表每的意思,例如month字段如果是星號(hào),則表示每月都執(zhí)行該命令操作。
?
逗號(hào)(,):表示分隔時(shí)段的意思,例如,“1,3,5,7,9”。
?
中杠(-):表示一個(gè)時(shí)間范圍,例如“2-6”表示“2,3,4,5,6”。
?
正斜線(/):可以用正斜線指定時(shí)間的間隔頻率,例如“0-23/2”表示每?jī)尚r(shí)執(zhí)行一次。同時(shí)正斜線可以和星號(hào)一起使用,例如*/10,如果用在minute字段,表示每十分鐘執(zhí)行一次。
?
?
8、在home目錄下編寫一個(gè)test.sh腳本,腳本功能是把/home下ifcfg-eth0這個(gè)文本復(fù)制到/mnt目錄下。
?
?
?
9、運(yùn)行crontab –e 編寫一條定時(shí)任務(wù) */5 * * * * /home/test.sh 在每5分鐘執(zhí)行一次test.sh腳本。
?
?
?
10、查詢當(dāng)前用戶定時(shí)任務(wù)或刪除當(dāng)前用戶定時(shí)任務(wù)。
?
?
?
11、設(shè)置crond開(kāi)機(jī)自動(dòng)啟動(dòng)。
?
?
?
12、實(shí)例:
?
?
?##每月每天凌晨3點(diǎn)30分和中午12點(diǎn)20分執(zhí)行test.sh腳本
30 3,12 * * *? /home/test.sh ? ? ? ? ??
?
##每月每天每隔6小時(shí)的每30分鐘執(zhí)行test.sh腳本
30 */6 * * * ?/home/test.sh
?
##每月每天早上8點(diǎn)到下午18點(diǎn)每隔2小時(shí)的每30分鐘執(zhí)行test.sh腳本
30 8-18/2 * * * /etc/init.d/network restart
?
##每月每天晚上21點(diǎn)30分執(zhí)行test.sh腳本
30 21 * * *? /etc/init.d/network restart
?
##每月1號(hào)、10號(hào)、22號(hào)凌晨4點(diǎn)45分執(zhí)行test.sh腳本
45 4 1,10,22 * * /etc/init.d/network restart
?
##8月份周一、周日凌晨1點(diǎn)10分執(zhí)行test.sh腳本
10 1 * 8 6,0 /etc/init.d/network restart
?
##每月每天每小時(shí)整點(diǎn)執(zhí)行test.sh腳本
00 */1 * * *? /etc/init.d/network restart
?
?
?
?
******定時(shí)任務(wù)書寫要領(lǐng)******
要領(lǐng)1:定時(shí)任務(wù)要加注釋
要領(lǐng)2:定時(shí)任務(wù)命令或腳本結(jié)尾加 &>/dev/null 或 >/dev/null 2>&1 或 1>/dev/null 2>/dev/null
要領(lǐng)3:定時(shí)任務(wù)執(zhí)行shell腳本前加/bin/sh,定時(shí)任務(wù)執(zhí)行shell腳本不必添加執(zhí)行權(quán)限
要領(lǐng)4:定時(shí)任務(wù)命令或程序盡量寫到腳本里,定時(shí)任務(wù)只要執(zhí)行腳本即可
???????? 注意操作步驟:
(1)、命令行執(zhí)行
(2)、編寫腳本
(3)、測(cè)試腳本
(4)、設(shè)置定時(shí)任務(wù)
要領(lǐng)5:生產(chǎn)任務(wù)程序不要隨意打印輸出信息
要領(lǐng)6:定時(shí)任務(wù)執(zhí)行的腳本要規(guī)范路徑 (例如 /server/script)
要領(lǐng)7:配置定時(shí)任務(wù)要規(guī)范操作過(guò)程
要領(lǐng)8:定時(shí)任務(wù)執(zhí)行特殊的字符需要進(jìn)行轉(zhuǎn)義,否則會(huì)報(bào)錯(cuò),例如 百分號(hào)% 轉(zhuǎn)義 \%
要領(lǐng)9:定時(shí)任務(wù)腳本中如果涉及使用到環(huán)境變量,必須在腳本中重新定義,不然,定時(shí)任務(wù)識(shí)別不了
?
?
?
?
?
?
感謝老男孩博客提供參考??https://blog.51cto.com/oldboy
總結(jié)
以上是生活随笔為你收集整理的Linux 定时任务crontab_014的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: redis没有加密码导致服务器被当做矿机
- 下一篇: 养老院一个月多少钱(TIGO SSD 2