Linux任務計畫crontab

2021-08-02 18:15:51 字數 1680 閱讀 7795

crontab簡介

crontab 命令常見於 unix 和類 unix 的作業系統之中(linux 就屬於類 unix 作業系統),用於設定週期性被執行的指令。該命令從輸入裝置讀取指令,並將其存放於 crontab 檔案中,以供之後讀取和執行。通常,crontab 儲存的指令被守護程序啟用,crond 為其守護程序,crond 常常在後台執行,每一分鐘會檢查一次是否有預定的作業需要執行。

通過 crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script 指令碼。時間間隔的單位可以是分鐘、小時、日、月、周的任意組合。

這裡我們看一看crontab 的格式

# example of job definition:

# .---------------- 第乙個引數填寫分鐘 (0 - 59),填寫 * 則表示每分鐘執行,填寫1-5,則表示從第1分鐘到第5分鐘都執行,填 */n 時,表示每 n 分鐘個時間間隔執行一次,填a,b時,則表示第a分鐘和第b分鐘都執行,其他引數的規則以此類推;

# |  .-------------第二個引數表示小時(0 - 23);

# |  |  .---------- 第三個引數表示具體日期(1 - 31);

# |  |  | .-------  第三個引數表示月份 (1 - 12);

# |  |  | |  .----  第四個引數表示星期幾 (0 - 6);

# |  |  | |  | ---- 最後面加上 要執行的命令

# *  *  * *  * user-name command to beexecuted

例子:×/1  *  *  *  *  touch /home/$(date +\%y\%m\%d\%h\%m\%s)    每隔1分鐘生成乙個以當前時間命名的檔案

0 3 * * *  service tomcat restart  每天凌晨三點重啟tomcat服務

0 2 1 * * *  /home/backup_mysql.sh   每月1號的凌晨2點執行mysql資料庫備份指令碼

crontab [ -u user ] file 

crontab [ -u user ]

-e : 建立的crontab檔案,編寫具體的任務計畫

-r : 刪除當前所有的任務計畫

-l : 列出當前所有的任務計畫

每個使用者使用crontab -e新增計畫任務,都會在/var/spool/cron/crontabs中新增乙個該使用者自己的任務文件,這樣目的是為了隔離;

如果是系統級別的定時任務,應該如何處理?只需要以 sudo 許可權編輯/etc/crontab檔案就可以。

cron 服務監測時間最小單位是分鐘,所以 cron 會每分鐘去讀取一次 /etc/crontab 與 /var/spool/cron/crontabs 裡面的內容。

/etc/cron.daily,目錄下的指令碼會每天執行一次,在每天的6點25分時執行;

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

/etc/cron.monthly,目錄下的指令碼會每月執行一次,在每月1號的6點52分時執行;

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

系統預設執行時間可以根據需求進行修改。

Linux linux定時任務crontab

crontab命令的功能是在一定的時間間隔排程一些命令的執行。它的配置檔案是 etc crontab。vim etc crontab etc crontab中每行指定乙個定時任務,其描述格式如下 minute hour daymonth dayofweek commandminute 從0到59的整...

Linux任務計畫

at任務 單次定時執行任務 at命令 at option time u常用選項 v 顯示版本資訊 l 列出指定佇列中等待執行的作業 相當於 atq d 刪除指定的作業 相當於 atrm c 檢視具體作業任務 f path from somefile 從指定的檔案中讀取任務 m 當任務被完成之後,將給...

LINUX 任務計畫

任務計畫就是任務迴圈計畫,不用刪除就可以了 crontab 如果有很多執行命令,將這些執行命令放到乙個指令碼裡面按照順序執行 1.crontab 任務執行 19 10 sbin init 6 每天10點19分重啟 分時日月周 2.crontab r 全部刪除任務計畫 3.crontab l 檢視執行...