❶ 關於linux-ubuntu下cron使用。
Cron是Linux系統中最有用的工具之一,cron作業是在指定時間到來時被調度執行的作業。
最常見的自動化系統管理和自動維護工作,比如每天發出的按計劃完成了備份的通知,或者是按計劃定時清理/tmp/目錄的通知。還有很多Web應用程序也需要執行定時作業。
本文講述了Cron的工作機制,你可以用cron實現調度作業作業。Cron本身是一個守護進程,在後台運行,通過配置文件「crontab」來根據時間調度指定的作業執行。
一、啟動Cron服務
基本上所有的Linux發行版在默認情況下都預安裝了cron工具。即使未預裝cron,也很簡單,執行命令手動安裝它:
root@Ubuntu-14:~# apt-get install cron
接著檢查cron服務的狀態,默認情況它應該運行於後台。如果它未啟動,那麼可以手動啟動此服務。
root@ubuntu-14:~# service cron start
root@ubuntu-14:~# service cron status
cron start/running, process 1027
二、使用Cron幫助
如果cron工作正常,那麼你可以使用man命令查看其手冊描述的詳細用法。
root@ubuntu-14:~# man crontab
上面的命令顯示了crontab手冊描述的使用方法。如果要查看怎樣使用cron作業指定的信息,可以這樣:
root@ubuntu-14:~# man 5 crontab
這里寫圖片描述
要退出幫助命令手冊的顯示,按下q鍵或h鍵。
這里寫圖片描述
三、Crontab命令的用法
下面講述怎樣使用crontab命令實現定時調度作業。
1、對Cron作業進行列表
使用以下命令列出當前用戶計劃的cron作業。
root@ubuntu-14:~# crontab –l
會列出當前用戶的所有cron作業,如果想查看其它用戶的cron作業,可以使用如下命令:
root@ubuntu-14:~# crontab –l –u username
這會列出指定用戶的cron作業。
2、編輯Cron作業
要添加一個新cron作業,或者是編輯現有的cron作業,可以使用如下命令:
root@ubuntu-14:~# crontab -e
3、移除Cron作業
使用下面的命令移除已經計劃的cron作業。
root@ubuntu-14:~# crontab –r
使用下面的命令移除所有已計劃的cron作業,且無需再次確認。
root@ubuntu-14:~# crontab –ir
4、命令參數
-u user:用來設定某個用戶的crontab服務;
file:file是命令文件的名字,表示將file做為crontab的任務列表文件並載入crontab。如果在命令行中沒有指定這個文件,crontab命令將接受標准輸入(鍵盤)上鍵入的命令,並將它們載入crontab。
-e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件。
-l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。
-r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則默認刪除當前用戶的crontab文件。
-i:在刪除用戶的crontab文件時給確認提示。
四、用Crontab計劃任務
除了通過配置文件來處理計劃cron作業之外,還有別的方法可以做到。如果你查看/etc目錄,你會發現有這樣的目錄:cron.daily、cron.hourly、cron.monthly等等。因此,把cron腳本放入這些目錄中,那麼系統會根據這些目錄名定時執行這些作業腳本的。
1、Cron配置類型
Cron有兩種配置文件類型,用於調度自動化任務。
1)系統級Crontab
這些cron作業被系統服務和關鍵作業所使用,且需要root級的許可權才能執行。可以在/etc/crontab文件中查看系統級的cron作業。
這里寫圖片描述
2)用戶級Crontab
用戶級的cron作業是針對每個用戶單獨分開的。因此每個用戶都可以使用crontab命令創建自己的cron作業,還可以使用以下命令編輯或查看自己的cron作業。
root@ubuntu-14:~# crontab –e
這里寫圖片描述
選擇編輯器後,你可以配置新cron作業了。
五、用Crontab調度作業
可以使用指定的語法調度cron作業,而且還有速記縮寫命令,使的管理cron作業很簡單。
Crontab語法如下:
* * * * * command to be executed
- - - - - -
| | | | | |
| | | | | --- 預執行的命令
| | | | ----- 表示星期0~7(其中星期天可以用0或7表示)
| | | ------- 表示月份1~12
| | --------- 表示日期1~31
| ----------- 表示小時1~23(0表示0點)
------------- 表示分鍾1~59 每分鍾用*或者 */1表示
六、新Cron作業配置實例
現在你已經熟悉了crontab命令、語法及cron作業的類型,現在可以創建一些作業計劃進行測試。可以使用crontab –e 命令添加。
1、每分鍾運行的計劃作業
下面的例子,創建一個cron作業,它每分鍾輸出文本「test cron job to execute every minute」並把文本發送到[email protected]郵箱。
首先用crontab命令編輯
root@ubuntu-14:~# crontab –e
寫入以下的腳本
SHELL=/bin/bash
HOME=/
MAILTO=」[email protected]」
#This is a comment
* * * * * echo 'test cron job to execute every minute'
:wq! 保存並退出
這里寫圖片描述
一旦保存了此cron腳本文件,就可以把它添加到計劃的作業中。
2、在指定時間調度Cron job作業
假如想調度某個cron作業,讓它在「每個星期四的下午7:00」運行,那麼crontab腳本應該這樣:
00 19 * * 4 sh /root/test.sh
再把它添加到調度作業中。
root@ubuntu-14:~# crontab -e
crontab: installing new crontab
❷ 在線等,以全部分跪求linux大牛救急啊。cron命令定時執行文件。
crontab用法
crontab命令用於安裝、刪除或者列出用於驅動cron後台進程的表格。用戶把需要執行的命令序列放到crontab文件中以獲得執行。
每個用戶都可以有自己的crontab文件。/var/spool/cron下的crontab文件不可以直接創建或者直接修改。該crontab文件是通過crontab命令創建的
在crontab文件中如何輸入需要執行的命令和時間。該文件中每行都包括六個域,其中前五個域是指定命令被執行的時間,最後一個域是要被執行的命令。
每個域之間使用空格或者製表符分隔。格式如下:
minute hour day-of-month month-of-year day-of-week commands
合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday)
除了數字還有幾個個特殊的符號就是"*"、"/"和"-"、",",*代表所有的取值范圍內的數字,"/"代表每的意思,"/5"表示每5個單位,"-"代表從某個數字到某個數字,","分開幾個離散的數字。
-l 在標准輸出上顯示當前的crontab。
-r 刪除當前的crontab文件。
-e 使用VISUAL或者EDITOR環境變數所指的編輯器編輯當前的crontab文件。當結束編輯離開時,編輯後的文件將自動安裝。
幾個例子:
每天早上6點
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意單純echo,從屏幕上看不到任何輸出,因為cron把任何輸出都email到root的信箱了。
每兩個小時
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
晚上11點到早上8點之間每兩個小時和早上八點
0 23-7/2,8 * * * echo "Have a good dream" >> /tmp/test.txt
❸ linux 計劃任務 每周的周一到周六二十三點執行一次應該怎麼寫
* 23 * * 1-6 root ls
每周的周一到周六二十三點以root執行ls命令
《Linux就該這樣學》
Linux計劃任務入門詳解 Linux操作系統定時任務系統 Cron 入門
cron是一個linux下的定時執行工具,可以在無需人工干預的情況下運行作業。由於Cron 是Linux的內置服務,但它不自動起來,可以用以下的方法啟動、關閉這個服務:
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
你也可以將這個服務在系統啟動的時候自動啟動:
在/etc/rc.d/rc.local這個腳本的末尾加上:
/sbin/service crond start
現在Cron這個服務已經在進程裡面了,我們就可以用這個服務了,Cron服務提供以下幾種介面供大家使用:
1.直接用crontab命令編輯
cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些參數與說明:
crontab -u //設定某個用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數
crontab -l //列出某個用戶cron服務的詳細內容
crontab -r //刪除沒個用戶的cron服務
crontab -e //編輯某個用戶的cron服務
比如說root查看自己的cron設置:crontab -u root -l
再例如,root想刪除fred的cron設置:crontab -u fred -r
在編輯cron服務時,編輯的內容有一些格式和約定,輸入:crontab -u root -e
進入vi編輯模式,編輯的內容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
任務調度的crond常駐命令
crond 是linux用來定期執行程序的命令。當安裝完成操作系統之後,默認便會啟動此任務調度命令。crond命令每分鍾會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。
1、linux任務調度的工作主要分為以下兩類:
*系統執行的工作:系統周期性所要執行的工作,如備份系統數據、清理緩存
*個人執行的工作:某個用戶定期要做的工作,例如每隔10分鍾檢查郵件伺服器是否有新信,這些工作可由每個用戶自行設置。
2.crontab命令選項:
-u指定一個用戶,
-l列出某個用戶的任務計劃,
-r刪除某個用戶的任務,
-e編輯某個用戶的任務
3.cron文件語法:
分 小時 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范圍,0表示周日一般一行對應一個任務)
4.記住幾個特殊符號的含義:
"*"代表取值范圍內的數字,
"/"代表"每",
"-"代表從某個數字到某個數字,
","分開幾個離散的數字
一、任務調度設置文件的寫法
可用crontab -e命令來編輯,編輯的是/var/spool/cron下對應用戶的cron文件,也可以直接修改/etc/crontab文件
具體格式如下:
Minute Hour Day Month Dayofweek command
分鍾 小時 天 月 天每星期 命令
每個欄位代表的含義如下:
Minute 每個小時的第幾分鍾執行該任務
Hour 每天的第幾個小時執行該任務
Day 每月的第幾天執行該任務
Month 每年的第幾個月執行該任務
DayOfWeek 每周的第幾天執行該任務
Command 指定要執行的程序
在這些欄位里,除了「Command」是每次都必須指定的欄位以外,其它欄位皆為可選欄位,可視需要決定。對於不指定的欄位,要用「*」來填補其位置。
舉例如下:
5 * * * * ls 指定每小時的第5分鍾執行一次ls命令
30 5 * * * ls 指定每天的 5:30 執行ls命令
30 7 8 * * ls 指定每月8號的7:30分執行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30執行ls命令
30 6 * * 0 ls 指定每星期日的6:30執行ls命令[註:0表示星期天,1表示星期1,以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10號及20號的3:30執行ls命令[註:「,」用來連接多個不連續的時段]
25 8-11 * * * ls 每天8-11點的第25分鍾執行ls命令[註:「-」用來連接連續的時段]
*/15 * * * * ls 每15分鍾執行一次ls命令 [即每個小時的第0 15 30 45 60分鍾執行ls命令 ]
30 6 */10 * * ls 每個月中,每隔10天6:30執行一次ls命令[即每月的1、11、21、31日是的6:30執行一次ls命令。 ]
每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行文件
50 7 * * * root run-parts /etc/cron.daily [ 註:run-parts參數表示,執行後面目錄中的所有可執行文件。 ]
二、新增調度任務
新增調度任務可用兩種方法:
1、在命令行輸入: crontab -e 然後添加相應的任務,wq存檔退出。
2、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務。
三、查看調度任務
crontab -l //列出當前的所有調度任務
crontab -l -u jp //列出用戶jp的所有調度任務
四、刪除任務調度工作
crontab -r //刪除所有任務調度工作
五、任務調度執行結果的轉向
例1:每天5:30執行ls命令,並把結果輸出到/jp/test文件中
30 5 * * * ls >/jp/test 2>&1
註:2>&1 表示執行結果及錯誤信息。
編輯/etc/crontab 文件配置cron
cron服務每分鍾不僅要讀一次/var/spool/cron內的所有文件,還需要讀一次/etc/crontab,因此我們配置這個文件也能運用cron服務做一些事情。用crontab配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務。此文件的文件格式是:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出現錯誤,或者有數據輸出,數據作為郵件發給這個帳號
HOME=/ //使用者運行的路徑,這里是根目錄
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小時執行/etc/cron.hourly內的腳本
02 4 * * * root run-parts /etc/cron.daily //每天執行/etc/cron.daily內的腳本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期執行/etc/cron.weekly內的腳本
42 4 1 * * root run-parts /etc/cron.monthly //每月去執行/etc/cron.monthly內的腳本
大家注意"run-parts"這個參數了,如果去掉這個參數的話,後面就可以寫要運行的某個腳本名,而不是文件夾名了
例如: 1、在命令行輸入: crontab -e 然後添加相應的任務,wq存檔退出。
2、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務
11 2 21 10 * rm -rf /mnt/fb
❹ linux使用cron怎麼設置定時任務
確定設置crontab的用戶,舉例用root執行:
crontab -e
進入編輯模式:
00
00 * * * 執行命令
表示每天00點00分執行命令一次
其他時間設置:
每五分鍾執行 */5 * * * *
每小時執行 0 * * * *
每天執行 0 0 * * *
每周執行 0 0 * * 0
每月執行 0 0 1 * *
每年執行 0 0 1 1 *
crontab詳解:
1.作用
使用crontab命令可以修改crontab配置文件,然後該配置由cron公用程序在適當的時間執行,該命令使用許可權是所有用戶。
2.格式
crontab [-u user] {-l | -r | -e}
3.主要參數
-e:執行文字編輯器來設定時程表,內空的文字編輯器是vi
-r:刪除目前的時程表
-l列出目前的時程表。
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三個環境變數。
使用cron服務,用server crond status查看cron服務狀態,如果沒有啟動則service
crond start啟動它,cron服務是一個定時執行的服務,可以通過crontab命令添加或編輯需要定時執行的任務:
crontab –u //設定某個用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數
crontab –l //列出某個用戶cron服務的詳細內容
crontab –r //刪除某個用戶的cron服務
crontab –e //編輯某個用戶的cron服務
crontab filename //以filename作為crontab的任務列表文件並載入
比如說root查看自己的cron設置:crontab –u root –l
再例如,root想刪除fred的cron設置:crontab –u fred –r
在編輯cron服務時,編輯的內容有一些格式和約定,輸入:crontab –u root –e
進入vi編輯模式,編輯的內容一定要符合下面的格式:
*/1
* * * * ls >>/tmp/ls.txt
編輯/etc/crontab文件,在末尾加上一行:30 5 * * * root init 6這樣就將系統配置為每天早上5點30分自動重新啟動。
crontab 文件中的行由6個欄位組成,不同欄位間用空格或tab鍵分隔。前5個欄位指定命令要運行的時間
分鍾(0-59)
小時(0-23)
日期(1-31)
月份(1-12)
星期幾(0-6,其中0代表星期日,好像7也代表星期日)
第6個欄位是一個要在適當時間執行的字元串。
例子:
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
#每天早上6點10分
10 6 * * * date
#每兩個小時
0 */2
* * * date
#晚上11點到早上8點之間每兩個小時,早上8點
0 23-7/2,8 * * * date
#每個月的4號和每個禮拜一到禮拜三的早上11點
0 11 4 * 1-3 date
#1月1日早上4點
0 4 1 1 * date
補充:在使用crontab的時候,要特別注意的是運行腳本中能夠訪問到的環境變數和當前測試環境中環境變數未必一致,一個比較保險的做法是在運行的腳本程序中自行設置環境變數(export)
(1) 先建一個文件crond.txt如下,每天早上5點36分重新啟動
36 5 * * * reboot
(2)上傳到/opt目錄
(3)運行命令
crontab /opt/crond.txt
crontab –l
讓配置文件生效:如果讓配置文件生效,還得重新啟動cron,切記,既然每個用戶下的cron配置文件修改後,也要重新啟動cron伺服器。
在Fedora和Redhat中,我們應該用:
/etc/rc.d/crond restart
如果讓crond在開機時運行,應該改變其運行級別:
chkconfig –level 35
crond on
service crond status查看cron服務狀態,如果沒有啟動則service
crond start啟動它,cron服務是一個定時執行的服務,可以通過crontab命令添加或者編輯需要定時執行的任務
❺ 五、計劃任務:cron工具crontab
<developer:/home/developer/UPGW/pub/bin>crontab -l
*/2 * * * * /home/developer/UPGW/pub/bin/angel
00 02 * * * /home/developer/UPGW/pub/bin/genhkfile.sh
00 04 * * * /home/developer/UPGW/pub/bin/logsave.sh
00 03 * * * /home/developer/UPGW/pub/bin/databackup.sh
30 09 * * * /home/developer/UPGW/pub/bin/loadfujian.sh
00 05 * * * /home/developer/UPGW/pub/bin/movetohistory.sh
20 08 * * * /home/developer/UPGW/pub/bin/putbilltozb.sh
<developer:/home/developer/UPGW/pub/bin>
上面是我機子上面的實例,一般來說要編譯,輸入crontab -e 然後按我上面寫的,輸入任務執行的時間以及需要運行的腳本,程序等,好了之後像vi一樣的,要輸入(:q)來保存。
運用下面的命令來開啟和停止等來載入crontab。
/sbin/service crond start 啟動
/sbin/service crond stop 停止
/sbin/service crond restart 重啟服務
/sbin/service crond reload 重新載入配置
❻ linux 計劃任務
這里,我不給你解釋你給出文件中的具體命令的所要執行的任務,而是解釋一下Linux計劃任務cron配置文件內容的含義,在了解了含義後,你就可以一通百通了。預祝學習順利。
在Redhat等Linux操作系統中計劃任務cron的全局配置文件是/etc/crontab,每個用戶的cron配置文件位於/var/spool/cron目錄下,文件與用戶名同名。這些配置文件可以統稱為crontab表。
crontab表中計劃任務的書寫格式:
分鍾 小時 日 月 周 [用戶名] 命令
第一個欄位:分鍾,表示從一個小時的第幾分鍾來執行,范圍:0~59;
第二個欄位:小時,表示從一天的第幾個小時來執行,范圍:0~23;
第三個欄位:天,表示從一個月的第幾天來執行,范圍:1~31;
第四個欄位:月,表示從一年的第幾個月來執行,范圍:1~12;
第五個欄位:周,表示從一周的第幾天來執行,范圍0~6,其中0表示周日;
第六個欄位:用戶名,也就是要通過哪個用戶來執行程序,一般可以省略;
第七個欄位:執行的命令和參數。
前五個欄位都是時間欄位,它們的取值除了數字外還可以有幾個特殊的符號,就是「*」、「/」、「-」和「,」。其中,「*」代表所有的取值范圍內的數字;「/」代表每的意思,如「*/5」表示每5個單位;「-」代表從某個數字到某個數字;「,」分開幾個離散的數字。下面我們舉例描述之:
0 6 * * * echo "Good morning." >>/tmp/test
//每天早上6點整在/tmp/test文件中寫入"Good morning. "。
0 */2 * * * echo "Have a break now." >>/tmp/test
//每隔兩個小時在/tmp/test文件中寫入"Have a break now."。
0 23-7/2,8 * * * echo "Have a good dream." >> /tmp/test
//晚上11點到早上7點之間每隔兩個小時,和早上8點在/tmp/test文件中寫入" Have a good dream ."。
註:第六個欄位(用戶名)是可以省略的,它定義的是用哪個用戶來執行第七個欄位描述的指令。比如操作mysql伺服器,我們可以定義用mysql用戶來操作,這時要寫上用戶名。不過,對於cron來說意義不是太大,因為每個用戶都有自己的cron配置文件。有些程序的啟動必須用到root用戶,這時我們只要修改root用戶的cron配置文件就行了。在每個用戶的配置文件中,不必指定用戶名,而在全局配置文件中,一般要指定用戶名。
在全局性配置文件中,我們來解釋一下這些行:
01 * * * * root run-parts /etc/cron.hourly
//表示每個小時的第一分鍾,開始執行/etc/cron.hourly目錄下的可執行程序或腳本;
02 4 * * * root run-parts /etc/cron.daily
//表示每天的4點2分,開始執行/etc/cron.daily目錄下的可執行程序或腳本;
22 4 * * 0 root run-parts /etc/cron.weekly
//表示每周周日的4點22分,開始執行/etc/cron.weekly目錄下的可執行程序或腳本;
42 4 1 * * root run-parts /etc/cron.monthly
//表示每月第一天的4點42分,開始執行/etc/cron.monthly目錄下的可執行程序或腳本;
上面的每一行都是用來在同一時間批量執行任務的。這些行的命令欄位(即第七個欄位,第六欄位後的所有內容)最前面都含有命令run-parts,run-parts命令的意思是執行下面目錄裡面的程序和腳本,例如run-parts /etc/cron.hourly意思就是執行/etc/cron.hourly目錄下的程序或腳本。
❼ 如何設置linux 的計劃任務
cron是一個linux下的定時執行工具,可以在無需人工干預的情況下運行作業。由於Cron 是Linux的內置服務,但它不自動起來,可以用以下的方法啟動、關閉這個服務:
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
你也可以將這個服務在系統啟動的時候自動啟動:
在/etc/rc.d/rc.local這個腳本的末尾加上:
/sbin/service crond start
現在Cron這個服務已經在進程裡面了,我們就可以用這個服務了,Cron服務提供以下幾種介面供大家使用:
1.直接用crontab命令編輯
cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些參數與說明:
crontab -u //設定某個用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數
crontab -l //列出某個用戶cron服務的詳細內容
crontab -r //刪除沒個用戶的cron服務
crontab -e //編輯某個用戶的cron服務
比如說root查看自己的cron設置:crontab -u root -l
再例如,root想刪除fred的cron設置:crontab -u fred -r
在編輯cron服務時,編輯的內容有一些格式和約定,輸入:crontab -u root -e
進入vi編輯模式,編輯的內容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
任務調度的crond常駐命令
crond 是linux用來定期執行程序的命令。當安裝完成操作系統之後,默認便會啟動此任務調度命令。crond命令每分鍾會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。
1、linux任務調度的工作主要分為以下兩類:
*系統執行的工作:系統周期性所要執行的工作,如備份系統數據、清理緩存
*個人執行的工作:某個用戶定期要做的工作,例如每隔10分鍾檢查郵件伺服器是否有新信,這些工作可由每個用戶自行設置。
2.crontab命令選項:
-u指定一個用戶,
-l列出某個用戶的任務計劃,
-r刪除某個用戶的任務,
-e編輯某個用戶的任務
3.cron文件語法:
分 小時 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范圍,0表示周日一般一行對應一個任務)
4.記住幾個特殊符號的含義:
"*"代表取值范圍內的數字,
"/"代表"每",
"-"代表從某個數字到某個數字,
","分開幾個離散的數字
一、任務調度設置文件的寫法
可用crontab -e命令來編輯,編輯的是/var/spool/cron下對應用戶的cron文件,也可以直接修改/etc/crontab文件
具體格式如下:
Minute Hour Day Month Dayofweek command
分鍾 小時 天 月 天每星期 命令
每個欄位代表的含義如下:
Minute 每個小時的第幾分鍾執行該任務
Hour 每天的第幾個小時執行該任務
Day 每月的第幾天執行該任務
Month 每年的第幾個月執行該任務
DayOfWeek 每周的第幾天執行該任務
Command 指定要執行的程序
在這些欄位里,除了「Command」是每次都必須指定的欄位以外,其它欄位皆為可選欄位,可視需要決定。對於不指定的欄位,要用「*」來填補其位置。
舉例如下:
5 * * * * ls 指定每小時的第5分鍾執行一次ls命令
30 5 * * * ls 指定每天的 5:30 執行ls命令
30 7 8 * * ls 指定每月8號的7:30分執行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30執行ls命令
30 6 * * 0 ls 指定每星期日的6:30執行ls命令[註:0表示星期天,1表示星期1,以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10號及20號的3:30執行ls命令[註:「,」用來連接多個不連續的時段]
25 8-11 * * * ls 每天8-11點的第25分鍾執行ls命令[註:「-」用來連接連續的時段]
*/15 * * * * ls 每15分鍾執行一次ls命令 [即每個小時的第0 15 30 45 60分鍾執行ls命令 ]
30 6 */10 * * ls 每個月中,每隔10天6:30執行一次ls命令[即每月的1、11、21、31日是的6:30執行一次ls命令。 ]
每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行文件
50 7 * * * root run-parts /etc/cron.daily [ 註:run-parts參數表示,執行後面目錄中的所有可執行文件。 ]
二、新增調度任務
新增調度任務可用兩種方法:
1、在命令行輸入: crontab -e 然後添加相應的任務,wq存檔退出。
2、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務。
三、查看調度任務
crontab -l //列出當前的所有調度任務
crontab -l -u jp //列出用戶jp的所有調度任務
四、刪除任務調度工作
crontab -r //刪除所有任務調度工作
五、任務調度執行結果的轉向
例1:每天5:30執行ls命令,並把結果輸出到/jp/test文件中
30 5 * * * ls >/jp/test 2>&1
註:2>&1 表示執行結果及錯誤信息。
編輯/etc/crontab 文件配置cron
cron服務每分鍾不僅要讀一次/var/spool/cron內的所有文件,還需要讀一次/etc/crontab,因此我們配置這個文件也能運用cron服務做一些事情。用crontab配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務。此文件的文件格式是:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出現錯誤,或者有數據輸出,數據作為郵件發給這個帳號
HOME=/ //使用者運行的路徑,這里是根目錄
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小時執行/etc/cron.hourly內的腳本
02 4 * * * root run-parts /etc/cron.daily //每天執行/etc/cron.daily內的腳本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期執行/etc/cron.weekly內的腳本
42 4 1 * * root run-parts /etc/cron.monthly //每月去執行/etc/cron.monthly內的腳本
大家注意"run-parts"這個參數了,如果去掉這個參數的話,後面就可以寫要運行的某個腳本名,而不是文件夾名了
例如: 1、在命令行輸入: crontab -e 然後添加相應的任務,wq存檔退出。
2、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務
11 2 21 10 * rm -rf /mnt/fb
❽ cron表達式0 * * * * 什麼意思
每分鍾0秒執行。
cron計劃任務,是任務在約定的時間執行已經計劃好的工作,這是表面的意思。在Linux中,我們經常用到 cron 伺服器來完成這項工作。
cron伺服器可以根據配置文件約定的時間來執行特定的任務。
計劃任務:
在Linux系統中,計劃任務一般是由cron承擔,可以把cron設置為開機時自動啟動。cron啟動後,它會讀取它的所有配置文件(全局性配置文件/etc/crontab,以及每個用戶的計劃任務配置文件),然後cron會根據命令和執行時間來按時來調用度工作任務。
cron是一個linux下的定時執行工具,可以在無需人工干預的情況下運行作業。由於Cron 是Linux的內置服務,但它不自動起來,可以用以下的方法啟動、關閉這個服務:
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
❾ cron命令問題
目測沒錯,試試把標准錯誤也重定向到日誌文件,看看有什麼輸出:
/bin/echo `date +%D_%H:%M` >> /root/test/test/crontest.txt 2>&1
另外每分鍾執行就不必*/1了,命令也用不著echo:
* * * * * date +%D_%H:%M >> /root/test/test/crontest.txt 2>&1
❿ 我在linux中使用cron添加命令為什麼沒用
crontab任務格式加的是不是有問題了,一般不會出這問題的,而且加任務也不需要重啟cron服務