1呻澜、什么是定時任務(wù)?
周期性的執(zhí)行任務(wù)計劃的軟件野舶,Linux定時任務(wù)的常用軟件crond易迹。
2、作用:使用定時任務(wù)軟件平道,可以每天睹欲,每小時按你需求重復(fù)的執(zhí)行一項工作。
例如:備份 都是0點以后,2點爬起來備份窘疮,4點以后睡覺袋哼。
需要寫一個程序?qū)崿F(xiàn)自動備份,然后讓定時任務(wù)軟件幫你執(zhí)行闸衫。
鬧鐘涛贯。。蔚出。弟翘。可以追女朋友骄酗。稀余。。
3趋翻、怎樣用睛琳。
(1)系統(tǒng)定時任務(wù)計劃
1.不用管理員干預(yù),系統(tǒng)自動執(zhí)行踏烙。
2.也可以利用系統(tǒng)任務(wù)為管理員服務(wù)师骗。
[root@oldboy ~]# ll /var/log/messages*
-rw-------. 1 root root? 96594 Mar 21 12:40 /var/log/messages
-rw-------. 1 root root 485249 Mar 20 10:46 /var/log/messages-20190320
[root@oldboy ~]# ll /var/log/secure*
-rw-------. 1 root root 1430 Mar 21 12:50 /var/log/secure
-rw-------. 1 root root 2695 Mar 20 10:46 /var/log/secure-20190320
[root@oldboyedu /etc/cron.daily]# ll /etc/cron.daily/logrotate? /etc/logrotate.conf
-rwx------. 1 root root 219 Oct 31? 2018 /etc/cron.daily/logrotate
-rw-r--r--. 1 root root 662 Jul 31? 2013 /etc/logrotate.conf
按天切割日志,就可以用logrotate讨惩。
(2)用戶定時任務(wù)計劃
在Linux系統(tǒng)中辟癌,
cron是定時任務(wù)的軟件名,
crond是服務(wù)進程名荐捻,真正實現(xiàn)定時任務(wù)服務(wù)愿待。
crontab命令是用來設(shè)置定時任務(wù)規(guī)則的配置命令。
要想配置定時任務(wù)靴患,首先啟動crond服務(wù)。
systemctl start crond.service
systemctl stop crond.service
systemctl status crond.service
開啟自啟動:
systemctl disable crond.service
systemctl enable crond.service
-l l列表 查看已經(jīng)設(shè)置的定時任務(wù)*
-e edit 編輯定時任務(wù)*
-u user 查看特定用戶下定時任務(wù)
root:
crontab -l == cat /var/spool/cron/root
crontab -e == vim /var/spool/cron/root
編寫定時任務(wù)的語法:
# Example of job definition:
# .---------------- 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)
共六列:
第一列:分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
第六列:要執(zhí)行的任務(wù)命令或程序
特殊符號:
*表示的 每或每一 的意思
00 23 * * * cmd
每天23點0分執(zhí)行cmd
- 連續(xù)區(qū)間 1-10
00 8-23 * * * cmd
每天的8點到23點之間每個小時的0分
, 列舉 1,2,3,4,8
00 1,2,3,4,8 * * * cmd
每天的1點2點3點4點8點執(zhí)行任務(wù)
/n n是數(shù)字要出。
n代表自然數(shù)字鸳君,即“每隔n單位時間”,例如:每10分鐘執(zhí)行一次任務(wù)可以寫成
*/10 * * * * cmd
每隔10分鐘執(zhí)行一次
生產(chǎn)環(huán)境下的定時Cron書寫要領(lǐng)
要領(lǐng)1:為定時任務(wù)規(guī)則加必要的注釋
要領(lǐng)2:所有的定時任務(wù)盡量都以腳本的形式執(zhí)行
要領(lǐng)3:在執(zhí)行的Shell腳本前加上/bin/sh
要領(lǐng)4:定時任務(wù)中命令或腳本的結(jié)尾加>/dev/null 2>&1
要領(lǐng)5:在指定用戶下執(zhí)行相關(guān)定時任務(wù)
要領(lǐng)6:生產(chǎn)任務(wù)計劃程序中不要隨意打印輸出信息,有輸出的想法去掉患蹂。
要領(lǐng)7:定時任務(wù)執(zhí)行的腳本要存放到規(guī)范路徑下
要領(lǐng)8:配置定時任務(wù)要規(guī)范操作過程或颊,減少出錯
要領(lǐng)9:定時任務(wù)腳本中程序命令及路徑盡量用全路徑
要領(lǐng)10:時間變量%號要用反斜線轉(zhuǎn)義(只有定時任務(wù)里是命令時需要)
要領(lǐng)11:若腳本中調(diào)用了系統(tǒng)環(huán)境變量,要重新定義
要領(lǐng)12:出錯或無法執(zhí)行传于,就檢查/var/log/cron日志?