inux內(nèi)置的cron進(jìn)程能幫我們實(shí)現(xiàn)這些需求吉挣,cron搭配shell腳本,非常復(fù)雜的指令也沒有問題。
cron介紹
我們經(jīng)常使用的是crontab命令是cron table的簡(jiǎn)寫奢浑,它是cron的配置文件,也可以叫它作業(yè)列表腋腮,我們可以在以下文件夾內(nèi)找到相關(guān)配置文件。
- /var/spool/cron/ 目錄下存放的是每個(gè)用戶包括root的crontab任務(wù)壤蚜,每個(gè)任務(wù)以創(chuàng)建者的名字命名
- /etc/crontab 這個(gè)文件負(fù)責(zé)調(diào)度各種管理和維護(hù)任務(wù)即寡。
- /etc/cron.d/ 這個(gè)目錄用來(lái)存放任何要執(zhí)行的crontab文件或腳本。
- 我們還可以把腳本放在/etc/cron.hourly袜刷、/etc/cron.daily聪富、/etc/cron.weekly、/etc/cron.monthly目錄中著蟹,讓它每小時(shí)/天/星期墩蔓、月執(zhí)行一次梢莽。
crontab的使用
我們常用的命令如下:
crontab [-u username] //省略用戶表表示操作當(dāng)前用戶的crontab
-e (編輯工作表)
-l (列出工作表里的命令)
-r (刪除工作作)
我們用crontab -e
進(jìn)入當(dāng)前用戶的工作表編輯,是常見的vim界面奸披。每行是一條命令昏名。
crontab
的命令構(gòu)成為 時(shí)間+動(dòng)作,其時(shí)間有分
阵面、時(shí)
轻局、日
、月
样刷、周
五種仑扑,操作符有
-
*
取值范圍內(nèi)的所有數(shù)字 -
/
每過多少個(gè)數(shù)字 -
-
從X到Z -
,
散列數(shù)字
實(shí)例
實(shí)例1:每1分鐘執(zhí)行一次myCommand
* * * * * myCommand
實(shí)例2:每小時(shí)的第3和第15分鐘執(zhí)行
3,15 * * * * myCommand
實(shí)例3:在上午8點(diǎn)到11點(diǎn)的第3和第15分鐘執(zhí)行
3,15 8-11 * * * myCommand
實(shí)例4:每隔兩天的上午8點(diǎn)到11點(diǎn)的第3和第15分鐘執(zhí)行
3,15 8-11 */2 * * myCommand
實(shí)例5:每周一上午8點(diǎn)到11點(diǎn)的第3和第15分鐘執(zhí)行
3,15 8-11 * * 1 myCommand
實(shí)例6:每晚的21:30重啟smb
30 21 * * * /etc/init.d/smb restart
實(shí)例7:每月1、10置鼻、22日的4 : 45重啟smb
45 4 1,10,22 * * /etc/init.d/smb restart
實(shí)例8:每周六镇饮、周日的1 : 10重啟smb
10 1 * * 6,0 /etc/init.d/smb restart
實(shí)例9:每天18 : 00至23 : 00之間每隔30分鐘重啟smb
0,30 18-23 * * * /etc/init.d/smb restart
實(shí)例10:每星期六的晚上11 : 00 pm重啟smb
0 23 * * 6 /etc/init.d/smb restart
實(shí)例11:每一小時(shí)重啟smb
* */1 * * * /etc/init.d/smb restart
實(shí)例12:晚上11點(diǎn)到早上7點(diǎn)之間,每隔一小時(shí)重啟smb
* 23-7/1 * * * /etc/init.d/smb restart
轉(zhuǎn)載: Linux Crontab 定時(shí)任務(wù) | 菜鳥教程