1. 程式人生 > >用linux中的crontab進行定時啟動、清理任務

用linux中的crontab進行定時啟動、清理任務

基本格式 : 
*  *  *  *  *  command 
分 時 日 月 周 命令 
第1列表示分鐘1~59 每分鐘用*或者 */1表示 
第2列表示小時1~23(0表示0點) 
第3列表示日期1~31 
第4列表示月份1~12 
第5列標識號星期0~6(0表示星期天) 
第6列要執行的命令 
crontab檔案的一些例子: 
30 21 * * * /usr/local/etc/rc.d/lighttpd restart 
上面的例子表示每晚的21:30重啟apache。 
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 
上面的例子表示每月1、10、22日的4 : 45重啟apache。 

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 
上面的例子表示每週六、週日的1 : 10重啟apache。 
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 
上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache。 
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart 
上面的例子表示每星期六的11 : 00 pm重啟apache。 
0 */1 * * * /usr/local/etc/rc.d/lighttpd restart 
每一小時重啟apache 
0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 

晚上11點到早上7點之間,每隔一小時重啟apache 
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart 
每月的4號與每週一到週三的11點重啟apache 
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart 
一月一號的4點重啟apache 
名稱 : crontab 
使用許可權 : 所有使用者 
使用方式 : 
crontab file [-u user]-用指定的檔案替代目前的crontab。 
crontab-[-u user]-用標準輸入替代目前的crontab. 
crontab-1[user]-列出使用者目前的crontab. 

crontab-e[user]-編輯使用者目前的crontab. 
crontab-d[user]-刪除使用者目前的crontab. 
crontab-c dir- 指定crontab的目錄。 
crontab檔案的格式:M H D m d cmd. 
M: 分鐘(0-59)。 
H:小時(0-23)。 
D:天(1-31)。 
m: 月(1-12)。 
d: 一星期內的天(0~6,0為星期天)。 
cmd要執行的程式,程式被送入sh執行,這個shell只有USER,HOME,SHELL這三個環境變數 
說明 : 
crontab 是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是類似使用者的時程表。-u user 是指設定指定 
user 的時程表,這個前提是你必須要有其許可權(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user 的話,就是表示設 
定自己的時程表。 
引數 : 
crontab -e : 執行文字編輯器來設定時程表,內定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設定 VISUAL 環境變數 
來指定使用那個文字編輯器(比如說 setenv VISUAL joe) 
crontab -r : 刪除目前的時程表 
crontab -l : 列出目前的時程表 
crontab file [-u user]-用指定的檔案替代目前的crontab。 
時程表的格式如下 : 
f1 f2 f3 f4 f5 program 
其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執 
行的程式。 
當 f1 為 * 時表示每分鐘都要執行 program,f2 為 * 時表示每小時都要執行程式,其餘類推 
當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內要執行,f2 為 a-b 時表示從第 a 到第 b 小時都要執行,其餘類推 
當 f1 為 */n 時表示每 n 分鐘個時間間隔執行一次,f2 為 */n 表示每 n 小時個時間間隔執行一次,其餘類推 
當 f1 為 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,f2 為 a, b, c,... 時表示第 a, b, c...個小時要執行,其餘類推 
使用者也可以將所有的設定先存放在檔案 file 中,用 crontab file 的方式來設定時程表。 
例子 : 
#每天早上7點執行一次 /bin/ls : 
0 7 * * * /bin/ls 
在 12 月內, 每天的早上 6 點到 12 點中,每隔3個小時執行一次 /usr/bin/backup : 
0 6-12/3 * 12 * /usr/bin/backup 
週一到週五每天下午 5:00 寄一封信給 [email protected] : 
0 17 * * 1-5 mail -s "hi" [email protected] < /tmp/maildata 
每月每天的午夜 0 點 20 分, 2 點 20 分, 4 點 20 分....執行 echo "haha" 
20 0-23/2 * * * echo "haha" 
注意 : 
當程式在你所指定的時間執行後,系統會寄一封信給你,顯示該程式執行的內容,若是你不希望收到這樣的信,請在每一行空一格之 
後加上 > /dev/null 2>&1 即可 
例子2 : 
#每天早上6點10分 
10 6 * * * date 
#每兩個小時 
0 */2 * * * date 
#晚上11點到早上8點之間每兩個小時,早上8點 
0 23-7/2,8 * * * date 
#每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點 
0 11 4 * mon-wed date 
#1月份日早上4點 
0 4 1 jan * date 
範例 
$crontab -l 列出使用者目前的crontab.

相關推薦

linuxcrontab進行定時啟動清理任務

基本格式 : *  *  *  *  *  command 分 時 日 月 周 命令 第1列表示分鐘1~59 每分鐘用*或者 */1表示 第2列表示小時1~23(0表示0點) 第3列表示日期1~31 第4列表示月份1~12 第5列標識號星期0~6(0表示星期天) 第6列要執

linuxcrontab的用法,shell實現定時任務

crontab是任務排程中常用的方法 crontab命令的格式為:crontab -l | -r | -e | -i [username],引數介紹如下: cronatb -l:顯示使用者的Crontab檔案中的內容 corntab -i:刪除使用者的crontab檔案,不

LinuxCrontab定時任務用法詳解

一、cron服務  cron是一個linux下 的定時執行工具,可以在無需人工干預的情況下執行作業。  service crond start    //啟動服務  service crond stop     //關閉服務  service crond restart  //重啟服務  service cr

linuxcrontab命令啟動/重啟/停止詳解

linux 系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面原本就有非常多的計劃性工作,因此這個系統服務是預設啟動的。另 外, 由於使用者自己也可以設定計劃任務,所以, Linux 系統也提供了使用者控制計劃任務的命令 :crontab 命令。 一、crond簡介 cr

linuxcrontab定時器裡的"2>&1"含義解釋:

linux中crontab定時器裡的"2>&1"含義解釋: 在crontab定時器中有如下類似的指令碼: 0 2 * * * php /data/test/test.php >/dev/null 2>&1 & 其中&1更準確

linux添加定時任務,定時導出mysql數據庫的數據.

指定 clas ref pla 數據導出 tmp target local ase 1.crontab -e #編輯屬於當前用戶的定時任務. 2.編輯:按鍵i:編寫任務如:*/1 * * * * /usr/local/hy_mysql/bi

Linux:mysql自動啟動

bin fig 鏈接 conf 自動啟動 一個bug 沒有 rec sudo 檢查自啟動列表中有沒有mysql:chkconfig mysqld on ,有的話就執行:chkconfig mysqld on ,用這個命令設置自啟 問題:在安裝mysql自啟時出現: /s

Linuxnginx服務器啟動腳本

nginx啟動腳本 linux shell腳本 Linux中nginx服務器啟動腳本,將此腳本放入/etc/init.d/目錄下,進行啟動和關閉,並用chkconfig命令將nginx加入到chkconfig管理中,設置開機自啟動。 詳細腳本如下:#!/bin/bash #aut

linux的通配符元字符轉義符

特殊 .text 傳遞 實現 管道 沒有 history function 發現 linux中的通配符、元字符、轉義符 linux中的通配符元字符轉義符 shell命令的構成 通配符 元字符meta 轉義符 example reference

linuxcrontab

linux中crontab1、直接用crontab命令編輯cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些參數與說明:crontab -u //設定某個用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數 crontab -l //列出某個用戶cron服務的詳細內容

linux網絡的bridgebondingteam

bond team 網橋Bridge:使真機和虛擬機的網卡可以直接交換數據,速度快NAT:虛擬機把數據先轉發給真機,真機再通過網卡傳輸,速度較慢在真機中的 /etc/sysconfig/network-scripts/目錄下查看文件 (註意:ifcfg-br0是網橋設置文件,ifcfg-enp0

Linux硬盤分區文件系統

Linux 分區 文件系統 lsblk 查看塊設備fdisk 支持msdos,在centos7中也支持gpt(不建議使用) 建議使用交互式fdisk -l 查看所有硬盤的分區信息fdisk -l /dev/sda 查看指定硬盤的分區信息fdisk /dev/sdbo 設置msdos分區表g 設置g

Linuxcrontab無法執行java程序的問題

java程序 問題 級別 路徑 jdk環境變量 系統 ron jdk環境變量配置 kill Linux中crontab無法執行java程序的問題 jdk環境變量配置問題;可以用全路徑來解決; 竟然是kill -9之後,後面的腳本都不運行,這個還沒有找到原因啊; 即便是系統級

linuxtomcat服務的啟動問題

今日2018年10月16日,在專案過程中遇到了tomcat奔潰(崩潰?)的問題。最後經過亦師亦友的同行講解,我明白了原因。故來此與各位大佬交流分享一下。總結的話語有什麼問題,還望各位大佬批評指正,感激不盡。  先下結論吧(後面再去分析結果):在web專案中,容器若是tomcat,禁

linux的系統檔案傳輸歸檔壓縮

環境為redhat系統內有兩臺虛擬機器,分別是desktop(主機名為node1)和server(主機名為node2)。所有操作均在虛擬機器內操作。 首先說一下如何修改主機名 hostnamectl set-hostname node2.example.com

linux利用crontab設定定時任務執行jar包

https://www.cnblogs.com/fxl-njfu/p/8182545.html 戶 https://www.cnblogs.com/ldy-blogs/p/8477550.html 用Linux的定時器: 1.crontab -e 按i鍵編輯這個文字檔案 0 0 */

Linux檢視jdk安裝目錄解除安裝jdkrpm命令rm命令引數

一、Linux中檢視jdk安裝目錄 [[email protected] ~]# whereis java java: /usr/bin/java /usr/local/java#java執行路徑 [[email protected] ~]# which java /usr/

Linux的網路配置(nmcliTeam)

目錄 網絡卡的配置 網絡卡的配置 網絡卡命名的不同: Rhel6 及其之前命名都是以 eth 開頭,第一塊網絡卡就叫 eth0 ,第二塊網絡卡就叫 eth1 Rhel7 開始命名規則變了,eno1代表由主機板BIOS內建的網絡卡 ;ens1代表由主機板B

linux有關MTD的原理應用(圖文)

看到兩篇很不錯的寫MTD的文章,做個記錄,留著備用。原作者分別是lwj103862095和zgolee,以下是兩位博主的部落格連結。 MTD,Memory Technology Device即記憶體技術裝置,在Linux核心中,引入MTD層為NOR FLAS

3.1 Linux的檔案IO (1314節)

3.1.13.fcntl函式介紹 3.1.13.1、fcntl的原型和作用 (1)fcntl函式是一個多功能檔案管理的工具箱,接收2個引數+1個變參。第一個引數是fd表示要操作哪個檔案,第二個引數是cmd表示要進行哪個命令操作。變參是用來傳遞引數的,要配合cmd來使用。 (2)cmd的樣子類