Linux crontab命令小解

2021-08-26 07:37:20 字數 2210 閱讀 9571

在linux系列中,常常通過crontab命令來維護crontab檔案,從而達到提交計畫作業的目的。在介紹crontab命令之前,我們先來了解下crontab檔案中每個條目中各個域的格式和意義。

crontab每個條目都有6個域,分別對應6列,從左到右依次為第1列,第2列...第6列。下面是這些域的詳細介紹:

第1列:分鐘 1~59

第2列:小時 1~23

第3列:日期 1~31

第4列:月份 1~12

第5列:星期 0~6(0表示星期日)

第6列:要執行的命令

在前5列中,可以用減號"-" 表示範圍;用逗號","表示或;用星號"*"表示連續的時間,如果對某域沒有特別的限制,該域也需要填入星號"*"。"*/5" 這樣格式表示每5分鐘[小時,天等]。每列之間要用空格隔開。請參考下面的列子:

每天12:58執行指令碼task.sh

每月1,10,20日的23:59分執行指令碼backup.sh

30 12 * * 6,0 /bin/find -name "log" -exec rm {} \;

每個週六週日的12:30執行命令

每天的18點到23點,每隔30分鐘執行指令碼check.sh

每分鐘執行指令碼

了解了crontab檔案格式的意義,我們開始介紹怎麼使用crontab

1、建立crontab檔案

a:建立作業內容檔案

[root@localhost ~]$ cat > mycron

*/2 * * * * /bin/echo `date` > /dev/console

輸入上面的內容,然後摁ctrl+d儲存檔案mycron

b:提交作業檔案mycron

crontab mycron

2、列出crontab檔案內容

crontab -l

3、刪除crontab檔案

crontab -r

3、編輯crontab檔案

crontab -e

怎麼備份crontab檔案。每個使用者的crontab檔案預設儲存在/var/spool/cron/檔案中。加入的你的使用者名稱devw,那麼你的crontab檔案就是/var/spool/cron/devw 你直接備份該檔案即可,當然要有足夠的許可權。

當然如果想執行crontab,需要先安裝crontab開啟crond服務,下面介紹下,怎麼安裝crontab及對crond服務進行管理:

安裝

yum install vixie-cron

yum install crontabs

備註:vixie-cron軟體包是cron的主程式,crontabs軟體包是用來安裝、卸裝、或列舉用來驅動 cron 守護程序的**的程式。

檢視crond服務狀態

service crond status

啟動crond服務

service crond start

關閉crond服務

service crond stop

重啟crond服務

service crond restart

重新crond載入配置

service crond reload

把crond加入開機自動啟動

chkconfig --level 35 crond on

檢視crond是否設定開啟啟動,可以執行命令:ntsysv

當然,對於非root使用者,安裝完軟體,啟動好服務,設定好crontab檔案,並不一定能啟動計畫任務,為什麼呢?缺少許可權。

cron通過/etc/cron.allow和/etc/cron.deny來允許或禁止使用者擁有自己的crontab檔案。root使用者可以建立、編輯或刪除這些檔案。這些檔案中的條目是使用者登入名,每行乙個名稱。

怎麼通過這兩個檔案進行許可權界定的呢?如果以下乙個條件成立,使用者將不能使用crontab命令:

cron.allow檔案和cron.deny檔案不存在(只允許root使用者)。 

cron.allow檔案存在,但使用者的登入名並不列在其中。 

cron.deny檔案存在,並且使用者的登入名列在其中。

提醒,如果cron.allow和cron.deny中使用者名稱都存在,則使用者具有執行許可權。cron.allow的優先順序比cron.deny高

linux crontab命令詳解

12 3 root tar czf usr local backups daily etc.tar.gz etc dev null 2 1這條語句將在每天的凌晨3點12分 03 12 執行tar czf usr local backups daily etc.tar.gz etc命令。dev nul...

linux crontab命令使用

cron用法說明 cron 於希臘單詞chronos 意為 時間 是linux系統下乙個自動執行指定任務的程式。例如,你想在每晚睡覺期間建立某些檔案或資料夾的備份,就可以用cron來自動執行。cron服務是linux的內建服務,但它不會開機自動啟動。可以用以下命令啟動和停止服務 sbin servi...

Linux crontab 計畫命令

標籤 linux apache user date file shell 2009 08 04 09 31 214009人閱讀收藏 舉報 linux學習 7 基本格式 command 分 時 日 月 周 命令 第1列表示分鐘1 59 每分鐘用 或者 1表示 第2列表示小時1 23 0表示0點 第3列...