溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

crontab怎么用

發(fā)布時(shí)間:2022-02-19 10:03:34 來(lái)源:億速云 閱讀:179 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下crontab怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Linux crontab是用來(lái)定期執(zhí)行程序的命令,當(dāng)安裝完成操作系統(tǒng)之后,默認(rèn)便會(huì)啟動(dòng)此任務(wù)調(diào)度命令。crond 命令每分鍾會(huì)定期檢查是否有要執(zhí)行的工作,如果有要執(zhí)行的工作便會(huì)自動(dòng)執(zhí)行該工作。

crontab怎么用

crontab配置文件

Linux下的任務(wù)調(diào)度分為兩類:系統(tǒng)任務(wù)調(diào)度和用戶任務(wù)調(diào)度。Linux系統(tǒng)任務(wù)是由 cron (crond) 這個(gè)系統(tǒng)服務(wù)來(lái)控制的,這個(gè)系統(tǒng)服務(wù)是默認(rèn)啟動(dòng)的。用戶自己設(shè)置的計(jì)劃任務(wù)則使用crontab 命令。在CentOS系統(tǒng)中,

cat /etc/crontab

配置文件可以看到如下解釋:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/# For details see man 4 crontabs# Example of job definition:# .---------------- minute (0 - 59)# | .------------- hour (0 - 23)# | | .---------- day of month (1 - 31)# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat# | | | | |# * * * * * user-name command to be executed

前四行是用來(lái)配置crond任務(wù)運(yùn)行的環(huán)境變量,第一行SHELL變量指定了系統(tǒng)要使用哪個(gè)shell,這里是bash;第二行PATH變量指定了系統(tǒng)執(zhí)行命令的路徑;第三行MAILTO變量指定了crond的任務(wù)執(zhí)行信息將通過(guò)電子郵件發(fā)送給root用戶,如果MAILTO變量的值為空,則表示不發(fā)送任務(wù)執(zhí)行信息給用戶;第四行的HOME變量指定了在執(zhí)行命令或者腳本時(shí)使用的主目錄。

用戶定期要執(zhí)行的工作,比如用戶數(shù)據(jù)備份、定時(shí)郵件提醒等。用戶可以使用 crontab 工具來(lái)定制自己的計(jì)劃任務(wù)。所有用戶定義的crontab 文件都被保存在 /var/spool/cron目錄中。其文件名與用戶名一致。

crontab文件含義

用戶所建立的crontab文件中,每一行都代表一項(xiàng)任務(wù),每行的每個(gè)字段代表一項(xiàng)設(shè)置,它的格式共分為六個(gè)字段,前五段是時(shí)間設(shè)定段,第六段是要執(zhí)行的命令段,格式如下: minute hour day month week command crontab怎么用

在以上各個(gè)字段中,還可以使用以下特殊字符:

“代表所有的取值范圍內(nèi)的數(shù)字,如月份字段為,則表示1到12個(gè)月;

“/”代表每一定時(shí)間間隔的意思,如分鐘字段為*/10,表示每10分鐘執(zhí)行1次。

“-“代表從某個(gè)區(qū)間范圍,是閉區(qū)間。如“2-5”表示“2,3,4,5”,小時(shí)字段中0-23/2表示在0~23點(diǎn)范圍內(nèi)每2個(gè)小時(shí)執(zhí)行一次。

“,”分散的數(shù)字(不一定連續(xù)),如1,2,3,4,7,9。

注:由于各個(gè)地方每周第一天不一樣,因此Sunday=0(第一天)或Sunday=7(最后1天)。

crontab命令詳解

格式:

crontab [-u user] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
  • • -u user:用于設(shè)定某個(gè)用戶的crontab服務(wù);
  • • file: file為命令文件名,表示將file作為crontab的任務(wù)列表文件并載入crontab;
  • • -e:編輯某個(gè)用戶的crontab文件內(nèi)容,如不指定用戶則表示當(dāng)前用戶;
  • • -l:顯示某個(gè)用戶的crontab文件內(nèi)容,如不指定用戶則表示當(dāng)前用戶;
  • • -r:從/var/spool/cron目錄中刪除某個(gè)用戶的crontab文件。
  • • -i:在刪除用戶的crontab文件時(shí)給確認(rèn)提示。

crontab注意點(diǎn)

  1. crontab有2種編輯方式:直接編輯/etc/crontab文件與crontab –e,其中/etc/crontab里的計(jì)劃任務(wù)是系統(tǒng)中的計(jì)劃任務(wù),而用戶的計(jì)劃任務(wù)需要通過(guò)crontab –e來(lái)編輯;
  2. 每次編輯完某個(gè)用戶的cron設(shè)置后,cron自動(dòng)在/var/spool/cron下生成一個(gè)與此用戶同名的文件,此用戶的cron信息都記錄在這個(gè)文件中,這個(gè)文件是不可以直接編輯的,只可以用crontab -e 來(lái)編輯。
  3. crontab中的command盡量使用絕對(duì)路徑,否則會(huì)經(jīng)常因?yàn)槁窂藉e(cuò)誤導(dǎo)致任務(wù)無(wú)法執(zhí)行。
  4. 新創(chuàng)建的cron job不會(huì)馬上執(zhí)行,至少要等2分鐘才能執(zhí)行,可從起cron來(lái)立即執(zhí)行。
  5. %在crontab文件中表示“換行”,因此假如腳本或命令含有%,需要使用%來(lái)進(jìn)行轉(zhuǎn)義。

crontab配置實(shí)例

每一分鐘執(zhí)行一次command(因cron默認(rèn)每1分鐘掃描一次,因此全為*即可)

*    *    *    *    *  command

每小時(shí)的第3和第15分鐘執(zhí)行command

3,15   *    *    *    *  command

每天上午8-11點(diǎn)的第3和15分鐘執(zhí)行command:

3,15  8-11  *  *  *  command

每隔2天的上午8-11點(diǎn)的第3和15分鐘執(zhí)行command:

3,15  8-11  */2  *   *  command

每個(gè)星期一的上午8點(diǎn)到11點(diǎn)的第3和第15分鐘執(zhí)行command

3,15  8-11   *   *  1 command

每晚的21:30重啟smb

30  21   *   *  *  /etc/init.d/smb restart

每月1、10、22日的4 : 45重啟smb

45  4  1,10,22  *  *  /etc/init.d/smb restart

每周六、周日的1 : 10重啟smb

10  1  *  *  6,0  /etc/init.d/smb restart

每天18 : 00至23 : 00之間每隔30分鐘重啟smb

0,30  18-23  *  *  *  /etc/init.d/smb restart

每一小時(shí)重啟smb

*  */1  *  *  *  /etc/init.d/smb restart

晚上11點(diǎn)到早上7點(diǎn)之間,每隔一小時(shí)重啟smb

*  23-7/1  *   *   *  /etc/init.d/smb restart

每月的4號(hào)與每周一到周三的11點(diǎn)重啟smb

0  11  4  *  mon-wed  /etc/init.d/smb restart

每小時(shí)執(zhí)行/etc/cron.hourly目錄內(nèi)的腳本

0  1   *   *   *     root run-parts /etc/cron.hourly

以上是“crontab怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI