Linux中使用crontab命令啟用自定義定時(shí)任務(wù)實(shí)例
Linux下的定時(shí)執(zhí)行主要是使用crontab文件中加入定制計(jì)劃來(lái)執(zhí)行,設(shè)置比Windows稍微復(fù)雜一些(因?yàn)闆](méi)有圖形界面嘛),但是也不是非常復(fù)雜,有需要的朋友可以了解一下。
一 簡(jiǎn)介
Linux下的任務(wù)調(diào)度分為兩類,系統(tǒng)任務(wù)調(diào)度和用戶任務(wù)調(diào)度
系統(tǒng)任務(wù)調(diào)度:系統(tǒng)需要定期執(zhí)行的任務(wù),比如重啟、日志清理等,其配置文件是:/etc/crontab
用戶任務(wù)調(diào)度:某個(gè)用戶需要定期執(zhí)行的任務(wù)。用戶可以使用 crontab 命令來(lái)配置自己的定時(shí)任務(wù)。所有用戶配置的定時(shí)任務(wù)都存放在 /var/spool/cron/ 目錄下,其文件名與用戶名一致。如:root用戶的所有定時(shí)任務(wù)就保存在 /var/spool/cron/root 文件中
二 crontab文件的含義
所有用戶crontab文件都存放在 /var/spool/cron/ 目錄下,以用戶名命名。其中每一行都代表一項(xiàng)任務(wù),每行的每個(gè)字段代表一項(xiàng)配置,它的格式一共分為六個(gè)字段,前五段是時(shí)間設(shè)置段,第六段是要執(zhí)行的命令段,格式如下:
- minute hour day month week command
- 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)命令,也可以是自己編寫(xiě)的腳本文件、
在以上各個(gè)字段中,還可以使用以下特殊字符:
* 代表所有可能的值,例如:如果month字段是星號(hào),則表示在滿足其它字段的約束條件后每月都執(zhí)行該命令
, 用逗號(hào)隔開(kāi)的值表示一個(gè)范圍列表,例如:如果minute字段的值是“1,3,15”,則表示每小時(shí)的第1分鐘、第3分鐘和第15分鐘都執(zhí)行該命令
– 可以用整數(shù)之間的 – 表示一個(gè)整數(shù)范圍,例如:如果day字段的值是“2-6”,則表示每月的第2天到底6天都執(zhí)行該命令
/ 可以用斜線表示命令的執(zhí)行頻率,例如:如果minute字段的值是“*/10”,則表示每十分鐘執(zhí)行一次命令
三 一個(gè)定時(shí)任務(wù)實(shí)例
某臺(tái)服務(wù)器每10分鐘向192.168.1.2進(jìn)行時(shí)間同步:
[root@web01 cron]# vim /var/spool/cron/root
添加以下內(nèi)容:
0-59/10 * * * * /usr/sbin/ntpdate -s 192.168.1.2
從上面的介紹可以知道,這句代碼的意思是:從0到59分這個(gè)時(shí)間段每10分鐘都執(zhí)行時(shí)間同步命令,其時(shí)間同步服務(wù)器是192.168.1.2
四 一些其他實(shí)例
實(shí)例1:每1分鐘執(zhí)行一次command命令:* * * * * command
實(shí)例2:每小時(shí)的第3和第15分鐘執(zhí)行命令:3,15 * * * * command
實(shí)例3:在上午8點(diǎn)到11點(diǎn)的第3和第15分鐘執(zhí)行命令:3,15 8-11 * * * command
實(shí)例4:每?jī)商斓纳衔?點(diǎn)到11點(diǎn)的第3和第15分鐘執(zhí)行命令:3,15 8-11 */2 * * command
實(shí)例5:每個(gè)星期一的上午8點(diǎn)到11點(diǎn)的第3和第15分鐘執(zhí)行命令:3,15 8-11 * * 1 command
實(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
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Ubuntu如何修改時(shí)區(qū)為UTC/CST時(shí)間
這篇文章主要介紹了Ubuntu如何修改時(shí)區(qū)為UTC/CST時(shí)間問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07Linux使用定時(shí)任務(wù)每周定時(shí)清理45天以前日志
linux是一個(gè)很能自動(dòng)產(chǎn)生文件的系統(tǒng),日志、郵件、備份等。雖然現(xiàn)在硬盤(pán)廉價(jià),我們可以有很多硬盤(pán)空間供這些文件浪費(fèi),讓系統(tǒng)定時(shí)清理一些不需要的文件很有一種爽快的事情。有需要的朋友看一下。2016-10-10Linux服務(wù)器VPS的Windows?DD包詳細(xì)的制作教程
這里就說(shuō)下Windows?dd包的制作過(guò)程,雖然網(wǎng)上很多這樣的dd包,但對(duì)于一些來(lái)歷不明的,也會(huì)有點(diǎn)不放心,所以我們有時(shí)間的話可以自己定制一個(gè)2022-08-08CentOS7下從零開(kāi)始安裝ethereum/以太坊
大家好,本篇文章主要講的是CentOS7下從零開(kāi)始安裝ethereum/以太坊,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12在CentOS 7上給一個(gè)網(wǎng)卡分配多個(gè)IP地址的方法
本篇文章主要介紹了在CentOS 7上給一個(gè)網(wǎng)卡分配多個(gè)IP地址的方法,具有一定的參考價(jià)值,有需要的可以了解一下。2017-03-03關(guān)于如何在崩潰或重啟后保持Linux進(jìn)程運(yùn)行的解決方法
在計(jì)算機(jī)系統(tǒng)中,進(jìn)程的穩(wěn)定性和持久性對(duì)于確保系統(tǒng)正常運(yùn)行至關(guān)重要,在 Linux 系統(tǒng)中,由于各種原因,進(jìn)程可能會(huì)面臨崩潰或系統(tǒng)重啟的情況,為了確保關(guān)鍵進(jìn)程的持續(xù)運(yùn)行,我們需要采取一些措施來(lái)處理這種情況,文中給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01