linux設置環境變量命令,linux定時任務設置環境變量

crontab簡介

crontab命令常見於Unix和類Unix的操作系統之中,用於設置周期性被執行的指令。該命令從標準輸入設備讀取指令,並將其存放於“crontab”文件中,以供之後讀取和執行。crontab儲存的指令被守護進程激活, crond常常在後台運行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般稱為cron jobs。

Linux下的任務調度分為兩類,系統任務調度和用戶任務調度

命令: service crond status 確認定時任務是否開啟?

Linux中使用定時任務Crontab命令詳解

命令: service crond start 開啟服務

命令: service crond stop 關閉服務

命令: service crond restart 重啟服務

命令: service crond reload 重新載入配置

crond服務

安裝crontab:

yum install crontabs

服務操作說明:

/sbin/service crond start //啟動服務

/sbin/service crond stop //關閉服務

/sbin/service crond restart //重啟服務

/sbin/service crond reload //重新載入配置

/sbin/service crond status //啟動服務

查看crontab服務是否已設置為開機啟動,執行命令:

ntsysv

加入開機自動啟動:

chkconfig –level 35 crond on

開始創建一個定時任務

crontab -e 編輯某個用戶的cron服務

crontab -l 列出某個用戶cron服務的詳細內容

Linux中使用定時任務Crontab命令詳解

crontab -r 刪除某個用戶的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

# 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文件,可以用上一節所講述的方法迅速恢復。

編輯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

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文件,假設你在自己的$ 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:用戶

在/var/spool/mail/{username} 中可以查看最近的crontab的執行情況

6.cron的定時任務備份恢復

總結;如果使用crontab -r 誤刪了定時任務 在/var/spool/cron下有定時任務的備份.可以通過該cron找回

如果沒有權限 的話 su – + root.password 在root用戶下 進行查看

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/231024.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-10 18:45
下一篇 2024-12-10 18:45

相關推薦

發表回復

登錄後才能評論