文章插圖

文章插圖
crontab簡介
crontab命令常見于Unix和類Unix的操作系統之中,用于設置周期性被執行的指令 。該命令從標準輸入設備讀取指令,并將其存放于“crontab”文件中,以供之后讀取和執行 。crontab儲存的指令被守護進程激活, crond常常在后臺運行,每一分鐘檢查是否有預定的作業需要執行 。這類作業一般稱為cron jobs 。
Linux下的任務調度分為兩類,系統任務調度和用戶任務調度 。
命令: service crond status 確認定時任務是否開啟?
命令: service crond stop 關閉服務
命令: service crond restart 重啟服務
命令: service crond reload 重新載入配置
crond服務
安裝crontab:
yum install crontabs服務操作說明:
/sbin/service crond start //啟動服務查看crontab服務是否已設置為開機啟動,執行命令:
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
/sbin/service crond status //啟動服務
ntsysv加入開機自動啟動:
chkconfig –level 35 crond on開始創建一個定時任務
crontab -e 編輯某個用戶的cron服務
crontab -l 列出某個用戶cron服務的詳細內容
常用方法:
1). 創建一個新的crontab文件
在 考慮向cron進程提交一個crontab文件之前,首先要做的一件事情就是設置環境變量EDITOR 。cron進程根據它來確定使用哪個編輯器編輯 crontab文件 。9 9 %的UNIX和LINUX用戶都使用vi,如果你也是這樣,那么你就編輯$ HOME目錄下的. profile文件,在其 中加入這樣一行:
EDITOR=vi; export EDITOR然后保存并退出 。不妨創建一個名為<user> cron的文件,其中<user>是用戶名,例如, davecron 。在該文件中加入如下的內容 。
# (put your own initials here)echo the date to the console every保存并退出 。確信前面5個域用空格分隔 。
# 15minutes between 6pm and 6am
0,15,30,45 18-06 * * * /bin/echo ‘date’ > /dev/console
在 上面的例子中,系統將每隔1 5分鐘向控制臺輸出一次當前時間 。如果系統崩潰或掛起,從最后所顯示的時間就可以一眼看出系統是什么時間停止工作的 。在有些 系統中,用tty1來表示控制臺,可以根據實際情況對上面的例子進行相應的修改 。為了提交你剛剛創建的crontab文件,可以把這個新創建的文件作為 cron命令的參數:
$ crontab davecron同時,新創建文件的一個副本已經被放在/var/spool/cron目錄中,文件名就是用戶名(即dave) 。
現在該文件已經提交給cron進程,它將每隔1 5分鐘運行一次 。
2). 列出crontab文件
為了列出crontab文件,可以用:
$ crontab -l你將會看到和上面類似的內容 ??梢允褂眠@種方法在$ H O M E目錄中對crontab文件做一備份:
0,15,30,45,18-06 * * * /bin/echo `date` > dev/tty1
$ crontab -l > $HOME/mycron這樣,一旦不小心誤刪了crontab文件,可以用上一節所講述的方法迅速恢復 。
編輯crontab文件
如果希望添加、刪除或編輯crontab文件中的條目,而E D I TO R環境變量又設置為v i,那么就可以用v i來編輯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現在保存并退出 。最好在crontab文件的每一個條目之上加入一條注釋,這樣就可以知道它的功能、運行時間,更為重要的是,知道這是哪位用戶的作業 。
30 3 1,7,14,21,26 * * /bin/find -name “core’ -exec rm {} ;
現在讓我們使用前面講過的crontab -l命令列出它的全部信息:
$ crontab -l4). 刪除crontab文件
# (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 {} ;
要刪除crontab文件,可以用:
$ crontab -r
5). 恢復丟失的crontab文件
如果不小心誤刪了crontab文件,假設你在自己的$ H O M E目錄下還有一個備份,那么可以將其拷貝到/var/spool/cron/<username>,其中<username>是用戶名 。如果由于權限問題無法完成拷貝,可以用:
$ crontab <filename>其中,<filename>是你在$ H O M E目錄中副本的文件名 。
我建議你在自己的$ H O M E目錄中保存一個該文件的副本 。我就有過類似的經歷,有數次誤刪了crontab文件(因為r鍵緊挨在e鍵的右邊) 。這就是為什么有些系統文檔建議不要直接編輯crontab文件,而是編輯該文件的一個副本,然后重新提交新的文件 。
有些crontab的變體有些怪異,所以在使用crontab命令時要格外小心 。如果遺漏了任何選項,crontab可能會打開一個空文件,或者看起來像是個空文件 。這時敲delete鍵退出,不要按<Ctrl-D>,否則你將丟失crontab文件 。
.查看定時任務的執行情況
username:用戶6.cron的定時任務備份恢復總結;如果使用crontab -r 誤刪了定時任務 在/var/spool/cron下有定時任務的備份.可以通過該cron找回
在/var/spool/mail/{username} 中可以查看最近的crontab的執行情況
【定時任務 環境變量 linux設置臨時環境變量命令】如果沒有權限 的話 su – + root.password 在root用戶下 進行查看
- 系統變量怎么設置 系統環境變量在哪里設置
- c用什么開發工具 C開發環境
- android環境搭建教程詳細 android開發環境安裝步驟
- Android環境搭建 android開發環境有哪些
- dnf天空之城任務流程 dnf劇情天空之城怎么解鎖
- win10環境安裝xp雙系統不能引導 xp系統安裝win10雙系統
- 暖暖環游世界韓國攻略省錢s支線任務 暖暖環游世界韓國區域攻略
- 配置hadoop環境配置文件 Hadoop環境配置
- oracle數據庫定時備份腳本 Oracle備份腳本
- jdk配置失敗的原因 jdk環境變量總是配置不成功
