1. crontab 命令:用于在某個(gè)時(shí)間,系統(tǒng)自動(dòng)執(zhí)行你所希望的程序文件或命令。
2. crontab 的參數(shù)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
3.下面進(jìn)行一個(gè)例子:在8月6號(hào)18時(shí)每隔3分鐘執(zhí)行以下命令:who >> /apple/test_crontab.log
步驟一:先創(chuàng)建一個(gè)文件cronfile:內(nèi)容為如下:
*/3 18 6 8 * who >> /apple/test_crontab_log
步驟二:將文件cronfile 加入到cron守護(hù)進(jìn)行(命令為:crontab cronfile)
4. 檢查是否加入到守護(hù)進(jìn)程cron中,用命令:crontab -l
如何出來的內(nèi)容中包含你剛剛的內(nèi)容,則加入成功。每隔3分鐘查看下test_crontab.log文件,看看是否有內(nèi)容。
5. 對(duì)crontab內(nèi)容格式的解釋:f1 f2 f3 f4 f5 program
f1 是表示分鐘(0-59),f2 表示小時(shí)(0-23),f3 表示一個(gè)月份中的第幾日(1-(31、30、29、28)),f4 表示月份(1-12),f5 表示一個(gè)星期中的第幾天(0-6(0表示周日))。program 表示要執(zhí)行的程式(可以理解為文件或命令)
f1:為*時(shí)候表示每隔1分鐘,如果為*/n 表示每隔n分鐘,如果為3,4 表示第3,4分鐘,如果為2-6表示第2分鐘到第6分鐘。
f2:為*時(shí)候表示每隔1小說。如果為*/n 表示每隔n小時(shí),如果為3,4 表示第3,4小時(shí),如果為2-6表示第2小時(shí)到第6小時(shí)
f3: 為*時(shí)候表示每天。n 表示第n天
f4: 為*時(shí)候表示每月。n 表示第n個(gè)月
f5: 為*時(shí)候表示每周。0表示周日,6表示周六,1-4表示周一到周六
6. 具體例子:(來自crontab百度百科)
a. 每月每天每小時(shí)的第 0 分鐘執(zhí)行一次 /bin/ls : 0 * * * * /bin/ls
b. 在 12 月內(nèi), 每天的早上 6 點(diǎn)到 12 點(diǎn)中,每隔 20 分鐘執(zhí)行一次 /usr/bin/backup :
*/20 6-12 * 12 * /usr/bin/backup
c. 周一到周五每天下午 5:00 寄一封信給 alex_mail_name :
0 17 * * 1-5 mail -s "hi" alex_mail_name < /tmp/maildata
d. 每月每天的午夜 0 點(diǎn) 20 分, 2 點(diǎn) 20 分, 4 點(diǎn) 20 分....執(zhí)行 echo "haha"
20 0-23/2 * * * echo "haha"
e. 晚上11點(diǎn)到早上8點(diǎn)之間每?jī)蓚€(gè)小時(shí)和早上8點(diǎn) 顯示日期 0 23-7/2,8 * * * date
2. crontab 的參數(shù)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
3.下面進(jìn)行一個(gè)例子:在8月6號(hào)18時(shí)每隔3分鐘執(zhí)行以下命令:who >> /apple/test_crontab.log
步驟一:先創(chuàng)建一個(gè)文件cronfile:內(nèi)容為如下:
*/3 18 6 8 * who >> /apple/test_crontab_log
步驟二:將文件cronfile 加入到cron守護(hù)進(jìn)行(命令為:crontab cronfile)
4. 檢查是否加入到守護(hù)進(jìn)程cron中,用命令:crontab -l
如何出來的內(nèi)容中包含你剛剛的內(nèi)容,則加入成功。每隔3分鐘查看下test_crontab.log文件,看看是否有內(nèi)容。
5. 對(duì)crontab內(nèi)容格式的解釋:f1 f2 f3 f4 f5 program
f1 是表示分鐘(0-59),f2 表示小時(shí)(0-23),f3 表示一個(gè)月份中的第幾日(1-(31、30、29、28)),f4 表示月份(1-12),f5 表示一個(gè)星期中的第幾天(0-6(0表示周日))。program 表示要執(zhí)行的程式(可以理解為文件或命令)
f1:為*時(shí)候表示每隔1分鐘,如果為*/n 表示每隔n分鐘,如果為3,4 表示第3,4分鐘,如果為2-6表示第2分鐘到第6分鐘。
f2:為*時(shí)候表示每隔1小說。如果為*/n 表示每隔n小時(shí),如果為3,4 表示第3,4小時(shí),如果為2-6表示第2小時(shí)到第6小時(shí)
f3: 為*時(shí)候表示每天。n 表示第n天
f4: 為*時(shí)候表示每月。n 表示第n個(gè)月
f5: 為*時(shí)候表示每周。0表示周日,6表示周六,1-4表示周一到周六
6. 具體例子:(來自crontab百度百科)
a. 每月每天每小時(shí)的第 0 分鐘執(zhí)行一次 /bin/ls : 0 * * * * /bin/ls
b. 在 12 月內(nèi), 每天的早上 6 點(diǎn)到 12 點(diǎn)中,每隔 20 分鐘執(zhí)行一次 /usr/bin/backup :
*/20 6-12 * 12 * /usr/bin/backup
c. 周一到周五每天下午 5:00 寄一封信給 alex_mail_name :
0 17 * * 1-5 mail -s "hi" alex_mail_name < /tmp/maildata
d. 每月每天的午夜 0 點(diǎn) 20 分, 2 點(diǎn) 20 分, 4 點(diǎn) 20 分....執(zhí)行 echo "haha"
20 0-23/2 * * * echo "haha"
e. 晚上11點(diǎn)到早上8點(diǎn)之間每?jī)蓚€(gè)小時(shí)和早上8點(diǎn) 顯示日期 0 23-7/2,8 * * * date