crontab配置文件
/var/spool/cron/ 該目錄下存放的是每個(gè)用戶(包括root)的crontab任務(wù)照瘾,文件名以用戶名命名
/etc/cron.d/ 這個(gè)目錄用來(lái)存放任何要執(zhí)行的crontab文件或腳本秉沼。
crontab時(shí)間說明
# .---------------- minute (0 - 59)
# |? .------------- hour (0 - 23)
# |? |? .---------- day of month (1 - 31)
# |? |? |? .------- month (1 - 12) OR jan,feb,mar,apr ...
# |? |? |? |? .---- day of week (0 - 6) (Sunday=0 or 7)? OR
#sun,mon,tue,wed,thu,fri,sat
# |? |? |? |? |
# *? *? *? *? *? command to be executed
1
2
3
4
5
6
7
8
minute:代表一小時(shí)內(nèi)的第幾分拘哨,范圍 0-59吧享。
hour:代表一天中的第幾小時(shí),范圍 0-23笆檀。
mday:代表一個(gè)月中的第幾天枣接,范圍 1-31。
month:代表一年中第幾個(gè)月离钝,范圍 1-12票编。
wday:代表星期幾,范圍 0-7 (0及7都是星期天)卵渴。
who:要使用什么身份執(zhí)行該指令慧域,當(dāng)您使用 crontab -e 時(shí),不必加此字段浪读。
command:所要執(zhí)行的指令
crontab服務(wù)狀態(tài)
service crond start? ? #啟動(dòng)服務(wù)
service crond stop? ? ? #關(guān)閉服務(wù)
service crond restart? #重啟服務(wù)
service crond reload? ? #重新載入配置
service crond status? ? #查看服務(wù)狀態(tài)
1
2
3
4
5
crontab命令
# 重新指定crontab定時(shí)任務(wù)列表文件
crontab $filepath
# 查看crontab定時(shí)任務(wù)
crontab -l
# 編輯定時(shí)任務(wù)【刪除-添加-修改】用法與 vim 相同
crontab -e
1
2
3
4
5
6
7
8
添加定時(shí)任務(wù)
【1. 推薦】
編輯任務(wù)腳本【分目錄存放】【ex: crontab-shell.sh】
編輯定時(shí)文件【命名規(guī)則:crontab-shell.cron】
crontab命令添加到系統(tǒng)crontab crontab-shell.cron
查看crontab列表 crontab -l
【2. 直接編輯定時(shí)任務(wù)】
# 查看定時(shí)任務(wù)
crontab -l
# 編輯定時(shí)任務(wù)
crontab -e
#插入如下內(nèi)容
SHELL=/bin/bash # 如果存在則不需添加
PATH=/sbin:/bin:/usr/sbin:/usr/bin # 如果存在則不需添加
#MAILTO=root # 如果存在則不需添加
0 6 * * *? /home/crontab-shell/clean-ops-images.sh # 時(shí)間表達(dá)式 + 執(zhí)行腳本 [每天早上6點(diǎn)]
……
……
……
1
2
3
4
5
6
7
8
9
10
11
12
13
14
crontab時(shí)間舉例
# 每天早上6點(diǎn)
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意單純echo昔榴,從屏幕上看不到任何輸出,因?yàn)閏ron把任何輸出都email到root的信箱了碘橘。
# 每?jī)蓚€(gè)小時(shí)
0 */2 * * * echo "Have a break now." >> /tmp/test.txt?
# 晚上11點(diǎn)到早上8點(diǎn)之間每?jī)蓚€(gè)小時(shí)和早上八點(diǎn)
0 23-7/2互订,8 * * * echo "Have a good dream" >> /tmp/test.txt
# 每個(gè)月的4號(hào)和每個(gè)禮拜的禮拜一到禮拜三的早上11點(diǎn)
0 11 4 * 1-3 command line
# 1月1日早上4點(diǎn)
0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出現(xiàn)錯(cuò)誤,或者有數(shù)據(jù)輸出痘拆,數(shù)據(jù)作為郵件發(fā)給這個(gè)帳號(hào) HOME=/
# 每小時(shí)(第一分鐘)執(zhí)行/etc/cron.hourly內(nèi)的腳本
01 * * * * root run-parts /etc/cron.hourly
# 每天(凌晨4:02)執(zhí)行/etc/cron.daily內(nèi)的腳本
02 4 * * * root run-parts /etc/cron.daily
# 每星期(周日凌晨4:22)執(zhí)行/etc/cron.weekly內(nèi)的腳本
22 4 * * 0 root run-parts /etc/cron.weekly
# 每月(1號(hào)凌晨4:42)去執(zhí)行/etc/cron.monthly內(nèi)的腳本
42 4 1 * * root run-parts /etc/cron.monthly
# 注意:? "run-parts"這個(gè)參數(shù)了仰禽,如果去掉這個(gè)參數(shù)的話,后面就可以寫要運(yùn)行的某個(gè)腳本名纺蛆,而不是文件夾名吐葵。
# 每天的下午4點(diǎn)、5點(diǎn)桥氏、6點(diǎn)的5 min温峭、15 min、25 min字支、35 min凤藏、45 min、55 min時(shí)執(zhí)行命令堕伪。
5揖庄,15,25欠雌,35抠艾,45,55 16桨昙,17检号,18 * * * command
# 每周一,三蛙酪,五的下午3:00系統(tǒng)進(jìn)入維護(hù)狀態(tài)齐苛,重新啟動(dòng)系統(tǒng)。
00 15 * *1桂塞,3凹蜂,5 shutdown -r +5
# 每小時(shí)的10分,40分執(zhí)行用戶目錄下的innd/bbslin這個(gè)指令:
10阁危,40 * * * * innd/bbslink
# 每小時(shí)的1分執(zhí)行用戶目錄下的bin/account這個(gè)指令:
1 * * * * bin/account
# 每天早晨三點(diǎn)二十分執(zhí)行用戶目錄下如下所示的兩個(gè)指令(每個(gè)指令以;分隔):
203 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)