ubuntu系統建立定時任務之crontab

2021-12-30 10:01:47 字數 2834 閱讀 2554

cron是乙個linux定時執行工具,可以在無需人工干預的情況下執行作業。在ubuntu server 下,cron是被預設安裝並啟動的。通過/etc/crontab檔案,可以看到以下內容:

ununtu 通過呼叫 run-parts 命令,定時執行四個目錄下的所有指令碼。

1)/etc/cron.hourly,目錄下的指令碼會每個小時讓執行一次,在每小時的2分鐘時執行;

2)/etc/cron.daily,目錄下的指令碼會每天讓執行一次,在每天0點17分時執行;

3)/etc/cron.weekly,目錄下的指令碼會每週讓執行一次,在每週第七天的3點56分時執行;

4)/etc/cron.mouthly,目錄下的指令碼會每月讓執行一次,在每月19號的5點32分時執行;

當然,以上的時間均是系統預設時間,可以根據自己的需求進行修改。

在ubuntu 9.10下,cron是被預設安裝並啟動的。而 ubuntu 下啟動,停止與重啟cron,均是通過呼叫/etc/init.d/中的指令碼進行。命令如下:

1)servicecronstart/*啟動服務*/

2)servicecronstop /*關閉服務*/

3)service cron restart /*重啟服務*/

4)service cron reload /*重新載入配置*/

可以通過以下命令檢視cron是否在執行(如果在執行,則會返回乙個程序id):

# pgrep cron

crontab 命令用於安裝、刪除或者列出用於驅動cron後台程序的**。也就是說,使用者把需要執行的命令序列放到crontab檔案中以獲得執行,每個使用者都可以有自己的crontab檔案。以下是這個命令的一些引數與說明:

1)crontab -u /*設定某個使用者的cron服務*/

2)crontab -l /*列出某個使用者cron服務的詳細內容*/

3)crontab -r /*刪除某個使用者的cron服務*/

4)crontab -e /*編輯某個使用者的cron服務*/

引數名稱 含義 示例

-l 顯示使用者的crontab檔案的內容 crontabl –l

-i 刪除使用者的crontab檔案前給提示 crontabl -ri

-r 從crontab目錄中刪除使用者的crontab檔案 crontabl -r

-e 編輯使用者的crontab檔案 crontabl -e

/etc/crontab檔案語法如下:

minute hour day month dayofweek command

分鐘 小時 天 月 天每星期 命令

每個字段代表的含義及取值範圍如下:

minute :分鐘(0-59),表示每個小時的第幾分鐘執行該任務

hour : 小時(1-23),表示每天的第幾個小時執行該任務

day : 日期(1-31),表示每月的第幾天執行該任務

month : 月份(1-12),表示每年的第幾個月執行該任務

dayofweek : 星期(0-6,0代表星期天),表示每週的第幾天執行該任務

command : 指定要執行的命令(如果要執行的命令太多,可以把這些命令寫到乙個指令碼裡面,然後在這裡直接呼叫這個指令碼就可以了,呼叫的時候記得寫出命令的完整路徑)

在這些欄位裡,除了「command」是每次都必須指定的字段以外,其它欄位皆為可選字段,可視需要決定。對於不指定的字段,要用「*」來填補其位置。同時,cron支援類似正規表示式的書寫,支援如下幾個特殊符號定義:

「*」 ,代表所有的取值範圍內的數字;

「/」 , 代表」每」(「*/5」,表示每5個單位);

「-」 , 代表從某個數字到某個數字(「1-4」,表示1-4個單位);

「,」 ,分開幾個離散的數字;

舉例如下:

5 * * * * ls /*指定每小時的第5分鐘執行一次ls命令*/

30 5 * * * ls /*指定每天的 5:30 執行ls命令*/

30 7 8 * * ls /*指定每月8號的7:30分執行ls命令*/

50 7 * * * root run-parts /etc/cron.daily /*每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行檔案*/

1.執行如下命令新增任務

# crontab -e

1)直接執行命令列,比如每隔1分鐘執行date命令並將結果儲存至檔案/tmp/testcron.txt中,cron 格式如下:

2)執行shell 指令碼,比如每隔3分鐘執行一次/var/backups/test.s**件,cron 格式如下:

*/3 * * * * /var/backups/test.sh

檔案/var/backups/test.sh 的內容如下:

———————————————————————————————————————–

#!/bin/sh

cd/var/backups/

now=`date『+%y%m%d』`

tar-zcf/var/backups/$website.tar.gz/var/www/html/

2. 重啟cron 服務

ubuntu系統配置mail郵件伺服器

ubuntu 建立定時任務

vi etc rsyslog.d 50 default.conf1.cron.前的 刪掉 esc wq enter 2.重啟rsyslog服務 service rsyslog restart 3.重啟crontab服務 service cron restart 4.寫定時指令碼 crontab e0...

ubuntu 定時任務

1.檢視定時任務 sudo crontab l 2.定制定時任務 sudo crontab e 在檔案中輸入任務命令 1 bin sh etc init.d test.sh 此命令每分鐘執行一次test.sh指令碼 或1 cd etc init.d test.sh home loganalysis ...

Ubuntu之Crontab定時任務設定

crontab e 設定定時任務 command 分 時 日 月 周 命令 第1列表示分鐘1 59 每分鐘用 或者 1表示 第2列表示小時1 23 0表示0點 第3列表示日期1 31 第4列表示月份1 12 第5列標識號星期0 6 0表示星期天 第6列要執行的命令 30 21 usr local e...