linux計劃任務之crontab
crontab [ -u user ] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
說明:
crontab命令是為個人使用者用於設定週期性被執行的指令。每一個使用者都可以有自己的crontab。
如果/etc/cron.allow檔案存在,該檔案中所列使用者允許使用crontab命令。
如果/etc/cron.allow檔案不存在,而/etc/cron.deny檔案存在,該檔案中所列使用者不允許使用crontab命令。
如果 /etc/cron.allow和 /etc/cron.deny 都不存在, 根據配置引數的不同,僅有超級使用者允許使用這個命令或者所有的使用者都允許使用。
如果 /etc/cron.allow和 /etc/cron.deny 都存在,/etc/cron.allow的優先順序大於/etc/cron.deny,因此/etc/cron.deny可以被忽略,但是如果想使用此命令,必須在/etc/cron.allow中明確列出使用者。
/var/spool/cron/,所有使用者crontab檔案存放的目錄,以使用者名稱命名。
引數:
-u:用來設定某個使用者的crontab服務,例如,“-u liujl”表示設定liujl使用者的crontab服務,此引數一般有root使用者來執行。
-l:顯示某個使用者的crontab檔案內容,如果不指定使用者,則表示顯示當前使用者的crontab檔案內容。
-r:從/var/spool/cron目錄中刪除某個使用者的crontab檔案,如果不指定使用者,則預設刪除當前使用者的crontab檔案。
-e:編輯某個使用者的crontab檔案內容。如果不指定使用者,則表示編輯當前使用者的crontab檔案。
-i:在刪除使用者的crontab檔案時給確認提示。
file:file是命令檔案的名字,表示將file做為crontab的任務列表檔案並載入crontab。如果在命令列中沒有指定這個檔案,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,並將它們載入crontab。
crontab使用方法:
crontab每項(行)工作的格式:
意義 | 分鐘 | 小時 | 日 | 月 | 星期 | 命令 |
範圍 | 0-59 | 0-23 | 1-31 | 1-12 | 0-6 | 執行的命令 |
在使用時,會用到幾種輔助字元,先說明如下:
特殊字元 |
意義 |
* |
代表任意匹配,例如“ |
, |
代表分割時段,比如每10分鐘執行一次命令?可以使用 0,10,20,30,40,50* * * * command 引數欄數不變,但是第一欄是0,10,20,30,40,50,以逗號(,)分割。 |
- |
代表一段時間範圍內,比如工作日(週一至週五)凌晨1點執行某一個命令? *1 * * 1-5 command 第五欄為1-5,代表1,2,3,4,5都適用的意思。 |
/n |
n代表數字,為每隔n單位間隔。例如上文逗號(,)中舉例,每10分鐘執行一次命令,可以這樣寫: */10* * * * command 第一欄為*/10,不要忘了*不能省略。 |
1). 建立一個新的crontab檔案
在考慮向cron程序提交一個crontab檔案之前,首先要做的一件事情就是設定環境變數EDITOR。cron程序根據它來確定使用哪個編輯器編輯crontab檔案。99%的UNIX和LINUX使用者都使用vim,如果你也是這樣,那麼你就編輯$HOME目錄下的. profile檔案,在其中加入這樣一行:EDITOR=vim; export EDITOR
然後儲存並退出。不妨建立一個名為<user> cron的檔案,其中<user>是使用者名稱,例如, davecron。在該檔案中加入如下的內容。
# (put your own initials here)echo the date to the console every
# 15minutes between 6pm and 6am
0,15,30,45 18-06 * * * /bin/echo 'date' > /dev/console
儲存並退出。確信前面5個域用空格分隔。
在上面的例子中,系統將每隔1 5分鐘向控制檯輸出一次當前時間。如果系統崩潰或掛起,從最後所顯示的時間就可以一眼看出系統是什麼時間停止工作的。在有些系統中,用tty1來表示控制檯,可以根據實際情況對上面的例子進行相應的修改。為了提交你剛剛建立的crontab檔案,可以把這個新建立的檔案作為cron命令的引數:
$ crontab davecron
現在該檔案已經提交給cron程序,它將每隔1 5分鐘執行一次。
同時,新建立檔案的一個副本已經被放在/var/spool/cron目錄中,檔名就是使用者名稱(即dave)。
2). 列出crontab檔案
為了列出crontab檔案,可以用:
$ crontab -l
0,15,30,45,18-06 * * * /bin/echo `date` > dev/tty1
你將會看到和上面類似的內容。可以使用這種方法在$ H O M E目錄中對crontab檔案做一備份:
$ crontab -l > $HOME/mycron
這樣,一旦不小心誤刪了crontab檔案,可以用上一節所講述的方法迅速恢復。
3). 編輯crontab檔案
如果希望新增、刪除或編輯crontab檔案中的條目,而EDIT環境變數又設定為vim,那麼就可以用vim來編輯crontab檔案,相應的命令為:
$ crontab -e
可以像使用v i編輯其他任何檔案那樣修改crontab檔案並退出。如果修改了某些條目或添加了新的條目,那麼在儲存該檔案時, c r o n會對其進行必要的完整性檢查。如果其中的某個域出現了超出允許範圍的值,它會提示你。
我們在編輯crontab檔案時,沒準會加入新的條目。例如,加入下面的一條:
# DT:delete core files,at 3.30am on 1,7,14,21,26,26 days of each month
30 3 1,7,14,21,26 * * /bin/find -name "core' -exec rm {} \;
現在儲存並退出。最好在crontab檔案的每一個條目之上加入一條註釋,這樣就可以知道它的功能、執行時間,更為重要的是,知道這是哪位使用者的作業。
現在讓我們使用前面講過的crontab -l命令列出它的全部資訊:
$ crontab -l
# (crondave installed on Tue May 4 13:07:43 1999)
# DT:ech the date to the console every 30 minites
0,15,30,45 18-06 * * * /bin/echo `date` > /dev/tty1
# DT:delete core files,at 3.30am on 1,7,14,21,26,26 days of each month
30 3 1,7,14,21,26 * * /bin/find -name "core' -exec rm {} \;
4). 刪除crontab檔案
要刪除crontab檔案,可以用:
$ crontab -r
5). 恢復丟失的crontab檔案
如果不小心誤刪了crontab檔案,假設你在自己的$
HOME目錄下還有一個備份,那麼可以將其拷貝到/var/spool/cron/<username>,其中<username>是使用者名稱。如果由於許可權問題無法完成拷貝,可以用:
$ crontab <filename>
其中,<filename>是你在$HOME目錄中副本的檔名。
我建議你在自己的$HOME目錄中儲存一個該檔案的副本。我就有過類似的經歷,有數次誤刪了crontab檔案(因為r鍵緊挨在e鍵的右邊)。這就是為什麼有些系統文件建議不要直接編輯crontab檔案,而是編輯該檔案的一個副本,然後重新提交新的檔案。
有些crontab的變體有些怪異,所以在使用crontab命令時要格外小心。如果遺漏了任何選項,crontab可能會開啟一個空檔案,或者看起來像是個空檔案。這時敲delete鍵退出,不要按<Ctrl-D>,否則你將丟失crontab檔案。
簡單的例子:
● 0 */2 * * * /sbin/service httpd restart
每兩個小時重啟一次apache
● 50 7 * * * /sbin/service sshd start
每天7:50開啟ssh服務
● 50 22 * * * /sbin/service sshd stop
每天22:50關閉ssh服務
● 0 0 1,15 * * fsck /home
每月1號和15號檢查/home 磁碟
● 1 * * * * /home/bruce/backup
每分鐘都執行 /home/bruce/backup這個檔案
● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;
每週一至週五凌晨3點,在目錄/home中,查詢檔名為*.xxx的檔案,並刪除4天前的檔案。
● 30 6 */10 * * ls
每月的1、11、21、31日是的6:30執行一次ls命令
相關推薦
linux計劃任務之crontab
語法: crontab [ -u user ] file crontab [ -u user ] [ -i ] { -e | -l | -r } 說明: crontab命令是為個人使用者用於設定週期性被執行的指令。每一個使用者都可以有
Linux計劃任務at&batch&crontab
at 計劃任務 batch 計劃任務 執行一次某任務:at,batch 周期性運行某任務:crontab 1.at命令,只執行一次 at/atq/atrm/batch at [option]... time HH:MM[YYYY-mm-dd]
linux計劃任務crontab
定時 幾分鐘 bsp 命令 時間 第一個 分鐘 lin log 系統定時任務 croond服務管理與訪問控制 systemctl start crond.service 開啟crond服務 crontab -e 進入crontab編輯界面 * * * * * 執行的任務 第
【轉】Linux定時任務之【crontab】
數據備份 res 整數 用戶數 mailto 加載 -c 維護 mini linux 系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面原本就有非常多的計劃性工作,因此這個系統服務是默認啟動的。另 外, 由於使用者自己也可以設置計劃任務,所以,
Linux計劃任務crontab設定詳解
crontab檔案的格式: minute hour day month weekday username command minute:分,值為0-59 hour:小時,值為1-23 day:天,值為1-31 month:月,值為1-12 weekday:星期,值為0-6(0代表星期天,1代表星期一,以此類推
Linux定時任務之crond/crontab
定時任務,顧名思義即固定一段時間執行一次某任務。 例如手機設定的鬧鐘、定時開關機等都屬於定時任務,那麼Linux要如何設定定時任務呢? crontab 首先認識crontab,該
編輯crontab新增Linux計劃任務
在做實驗樓的比賽時的題目 用到了crontable 1. 為使用者shiyanlou新增一個計劃任務 2. 每天凌晨2點定時執行 3. 將/var/log/dpkg.log /var/log/mysql.log /var/log/fontconfig.lo
Linux下的計劃任務:crontab命令詳解
前一天學習了 at 命令是針對僅執行一次的任務,迴圈執行的例行性計劃任務,linux系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面原本就有非常多的計劃性工作,因此這個系統服務是預設啟動的。另外, 由於使用者自己也可以設定計劃任務,所以, Linux 系統也提供了使用者控制
Linux 計劃任務 Crontab
spa 次數 linu cront mage nbsp inf 計劃 ron 命令: crontab -e 編輯/創建任務 crontab -l 查看任務 格式: 分鐘 小時 日 月 星期 命令 eg: mysql 備份 每天17:
Linux計劃任務
crontab linux 開機自動啟動服務Centos7:systemctl is-enabled "servicename" systemctl enabled "servicename"(設為開機啟動)Centos6:chkconfig --
linux計劃任務 進程管理
linux 計劃任務 進程管理 crond 是linux用來定期執行程序的命令。當安裝完成操作系統之後,默認便會啟動此任務調度命令。crond命令每分鍾會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。可以用以下的方法啟動、關閉這個服務: /sbin/service crond
linux計劃任務,系統日誌,故障處理
badblock 解決 用戶驗證 排查 名稱 輸出 分鐘 message 計劃任務管理 計劃任務管理 At 一次性任務設置。 服務腳本:/etc/init.d/atd 使用方法; #at 13:00
linux-計劃任務
emp eboot 4.4 operation edi tab 編輯 pro ubunt 計劃任務 環境:ubuntu-16.04.4-server-amd64 crontab [-u user] file crontab [ -u user ] [
Weblogic計劃任務之重啟腳本
tst critical erro dmi 環境 判斷 interval pro 僵屍進程 只需要在服務器上創建兩個文件即可:1、vim config.txt **** JAVA ***** AIX平臺的JAVA常為:/usr/java5/bin/java Linux平臺的
linux計劃任務(轉)
level 郵件 file 配置 nta 但是 路徑和 去掉 無法自動 文章轉自https://blog.csdn.net/jixieyang3701/article/details/79410725 linux 系統則是由 cron (crond) 這個系統服務來控制的。
Linux計劃任務刪除一定期限的檔案
30 03 * * * find /WEBBAK/* -maxdepth 1 -mtime +2 | xargs rm -rf -mtime +2 查詢檔案更新日時在距現在時刻2天以內的檔案 -mtime -2 查詢檔案更新日時在
Linux. 計劃任務 時間格式
Linux. 計劃任務 時間格式 在linux中執行指令:cat /etc/crontab 結果,如下圖所示: 結果一目瞭然,不多說。 如有問題,歡迎糾正!!! 如有轉載,請標明源處:https://www.cnblogs.com/
sort命令、linux計劃任務
一、sort的工作原理 sort將檔案的每一行作為一個單位,相互比較,比較原則是從首字元向後,依次按ASCII碼值進行比較,最後將他們按升序輸出。 引數 作用 -n 數值排序 -r 降序 -t 欄位分隔符 -k 以哪個欄位為關鍵字進行排序 -u 排序後相同的行只顯示一次 -f 排序時忽略字元
紅帽認證學習筆記-Linux計劃任務cron配置
紅帽認證學習筆記–Linux計劃任務cron配置 cron: 計劃任務,是任務在約定的時間執行已經計劃好的工作, 這是表面的意思。在Linux中,我們經常用到 cron 伺服器來完成這項工作。cron伺服器可以根據配置檔案約定的時間來執行特定的
linux 計劃任務 at or crond
at:一次性計劃任務 yum install at -y //下載計劃任務 systemctl start atd.service //啟動at systemctl status atd.service&nbs