Linux中使用crontab命令啟用自定義定時任務(wù)實(shí)例
Linux下的定時執(zhí)行主要是使用crontab文件中加入定制計(jì)劃來執(zhí)行,設(shè)置比Windows稍微復(fù)雜一些(因?yàn)闆]有圖形界面嘛),但是也不是非常復(fù)雜,有需要的朋友可以了解一下。
一 簡介
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)度:某個用戶需要定期執(zhí)行的任務(wù)。用戶可以使用 crontab 命令來配置自己的定時任務(wù)。所有用戶配置的定時任務(wù)都存放在 /var/spool/cron/ 目錄下,其文件名與用戶名一致。如:root用戶的所有定時任務(wù)就保存在 /var/spool/cron/root 文件中
二 crontab文件的含義
所有用戶crontab文件都存放在 /var/spool/cron/ 目錄下,以用戶名命名。其中每一行都代表一項(xiàng)任務(wù),每行的每個字段代表一項(xiàng)配置,它的格式一共分為六個字段,前五段是時間設(shè)置段,第六段是要執(zhí)行的命令段,格式如下:
- minute hour day month week command
- minute: 表示分鐘,可以是從0到59之間的任何整數(shù)
- hour:表示小時,可以是從0到23之間的任何整數(shù)
- day:表示日期,可以是從1到31之間的任何整數(shù)
- month:表示月份,可以是從1到12之間的任何整數(shù)
- week:表示星期,可以是從0到7之間的任何整數(shù),這里的0或7代表星期日
- command:表示需要執(zhí)行的命令,可以是系統(tǒng)命令,也可以是自己編寫的腳本文件、

在以上各個字段中,還可以使用以下特殊字符:
* 代表所有可能的值,例如:如果month字段是星號,則表示在滿足其它字段的約束條件后每月都執(zhí)行該命令
, 用逗號隔開的值表示一個范圍列表,例如:如果minute字段的值是“1,3,15”,則表示每小時的第1分鐘、第3分鐘和第15分鐘都執(zhí)行該命令
– 可以用整數(shù)之間的 – 表示一個整數(shù)范圍,例如:如果day字段的值是“2-6”,則表示每月的第2天到底6天都執(zhí)行該命令
/ 可以用斜線表示命令的執(zhí)行頻率,例如:如果minute字段的值是“*/10”,則表示每十分鐘執(zhí)行一次命令
三 一個定時任務(wù)實(shí)例
某臺服務(wù)器每10分鐘向192.168.1.2進(jìn)行時間同步:
[root@web01 cron]# vim /var/spool/cron/root
添加以下內(nèi)容:
0-59/10 * * * * /usr/sbin/ntpdate -s 192.168.1.2
從上面的介紹可以知道,這句代碼的意思是:從0到59分這個時間段每10分鐘都執(zhí)行時間同步命令,其時間同步服務(wù)器是192.168.1.2
四 一些其他實(shí)例
實(shí)例1:每1分鐘執(zhí)行一次command命令:* * * * * command
實(shí)例2:每小時的第3和第15分鐘執(zhí)行命令:3,15 * * * * command
實(shí)例3:在上午8點(diǎn)到11點(diǎn)的第3和第15分鐘執(zhí)行命令:3,15 8-11 * * * command
實(shí)例4:每兩天的上午8點(diǎn)到11點(diǎn)的第3和第15分鐘執(zhí)行命令:3,15 8-11 */2 * * command
實(shí)例5:每個星期一的上午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
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
linux 下部署nodejs項(xiàng)目(兩種方式)
本篇文章主要介紹了linux 下部署nodejs項(xiàng)目(兩種方式),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01
Linux下使用ip netns命令進(jìn)行網(wǎng)口的隔離和配置ip地址
這篇文章主要介紹了Linux下使用ip netns命令進(jìn)行網(wǎng)口的隔離和配置ip地址,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09
在Debian系的Linux中編譯并安裝ixgbe驅(qū)動的教程
這篇文章主要介紹了在Linux中編譯并安裝ixgbe驅(qū)動的教程,采用bash shell、適用于Debian、Ubuntu等各種基于Debian的Linux系統(tǒng),需要的朋友可以參考下2015-03-03
安裝Ubuntu和ssh遠(yuǎn)程連接的設(shè)置方式
文章介紹了在Ubuntu操作系統(tǒng)中進(jìn)行遠(yuǎn)程連接配置的方法,具體步驟包括:安裝并配置SSH服務(wù),設(shè)置靜態(tài)IP地址,配置遠(yuǎn)程桌面服務(wù)(VNC或RDP),以及解決root用戶SSH遠(yuǎn)程登錄的問題2025-03-03
Ubuntu設(shè)置靜態(tài)IP地址的方法步驟(親測有效)
在某些場景下,我們可能需要將一臺電腦的IP地址設(shè)置成靜態(tài)的,例如在局域網(wǎng)內(nèi)部署一個服務(wù)器,我們可能不希望他通過DHCP獲取動態(tài)地址,而造成無法訪問,設(shè)置靜態(tài)IP在window系統(tǒng)下比較容易,但在Linux系統(tǒng)下稍微麻煩一點(diǎn),本文給大家介紹了Ubuntu設(shè)置靜態(tài)IP地址的方法步驟2024-10-10

