一、計畫任務 crond服務簡介
linux
任務排程的工作主要分為以下兩類:
*系統執行的工作:系統週期性所要執行的工作,如備份系統資料、清理快取
*個人執行的工作:某個使用者定期要做的工作,例如每隔
10分鐘檢查郵件伺服器是否有新信,這些工作可由每個使用者自行設定。
這個時候可以用
cron
來幫助系統進行任務排程。
cron
可以根據時間、日期、月份、星期的組合來排程對重複任務的執行的守護程序。
crond
服務通過
shell
和linux/unix
下的crontab
(計畫任務控制)的方式實現。
cron
是計畫任務的稱呼,
crond
是後台程序,而
crontab
則是定製好的計畫任務表。
cron
這個名字來自
「chronos」
,乙個古希臘語「時間
」的意思。
crond
程序每分種會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。
要使用crond
服務,你必須安裝了
vixie-cron rpm
軟體包,而且必須在執行
crond
服務。要判定該軟體包是否已安裝,使用
rpm -q vixie-cron
命令。要判定該服務是否在執行,使用
/sbin/service crond status
命令。crond
服務是linux
的內建服務,但它不會開機自動啟動。可以用以下命令啟動和停止服務:
/sbin/service crond start //
啟動服務
/sbin/service crond stop //
關閉服務
/sbin/service crond restart //
重啟服務
/sbin/service crond reload //
重新載入配置
你也可以讓這個服務在系統啟動的時候自動啟動,只需要在
/etc/rc.d/rc.local
這個指令碼的末尾加上
:/sbin/service crond start
2.2 crond服務的使用
cron
d服務提供
crontab
命令來設定
crond
服務,以下是這個命令的一些引數與說明
:crontab -u //
設定某個使用者的
cron
服務,一般
這個引數只允許root
使用crontab -l //
列出某個使用者
cron
服務的詳細內容
crontab -r //
刪除某個使用者的
cron
服務注意:如果有多條計畫任務
crontab -r
會刪除使用者所有的計畫,如果你只想刪除其中一條計畫任務,請使用
crontab -e
命令或者直接編輯
/var/spool/cron/root
檔案。crontab -e //
編輯某個使用者的
cron
服務現舉例說明:
# crontab -u root –l
//root
檢視自己的
cron
設定# crontab -u fred –r
// root
想刪除fred
的cron
設定# crontab -u root –e
//編輯
root
的crontab
檔案crontab -e
命令編輯的是
/var/spool/cron
下對應使用者的
cron
檔案我們也可以直接修改
/etc/crontab
檔案,crontab
檔案有自己的格式,具體如下:
minute hour day month dayofweek command
分鐘 小時天月
天每星期
命令每個字段代表的含義如下:
minute
每個小時的第幾分鐘執行該任務
hour
每天的第幾個小時執行該任務
day每月的第幾天執行該任務
month
每年的第幾個月執行該任務
dayofweek
每週的第幾天執行該任務
command
指定要執行的程式
舉例如下:
5 * * * * ls
//指定每小時的第
5分鐘執行一次
ls命令
30 5 * * * ls
//指定每天的
5:30
執行ls
命令30 7 8 * * ls
//指定每月8號的
7:30分執行
ls命令
30 5 8 6 * ls
//指定每年的6月
8日5:
30執行
ls命令
30 6 * * 0 ls
//指定每星期日的
6:30
執行ls
命令注:
0表示星期天,
1表示星期
1,以此類推,也可以用英文來表示,
sun表示星期天,
mon表示星期一等
30 3 10,20 * * ls
//每月10
號及20號的3
:30執行ls
命令注:「,」用來連線多個不連續的時段
25 8-11 * * * ls
//每天
8-11
點的第25
分鐘執行
ls命令
注:「-
」用來連線連續的時段
*/15 * * * * ls
//每15
分鐘執行一次
ls命令
(即每個小時的第
0 15 30 45 60
分鐘執行
ls命令
)30 6 */10 * * ls
//每個月中,每隔10天
6:30
執行一次
ls命令
(即每月的1、
11、21、
31日是的6:
30執行一次
ls命令
)50 7 * * * root run-parts /etc/cron.daily
//每天7:
50以root
身份執行
/etc/cron.daily
目錄中的所有可執行指令碼
注:run-parts
引數表示,執行後面目錄中的所有可執行檔案,如果去掉這個引數的話,後面就可以寫要執行的某個指令碼名,而不是資料夾名了
30 5 * * * ls >/jp/test 2>&1
//每天5:
30執行
ls命令,並把結果輸出到
/jp/test
檔案中注:
2>&1
表示執行結果及錯誤資訊
記住幾個特殊符號的含義
:"*"
代表取值範圍內的數字
,"/"代表"
每","-"代表從某個數字到某個數字
,","
分開幾個離散的數字
chkconfig --list crond 查詢crond服務的執行級資訊
chkconfig --level 2345 crond 設定crond服務的執行級資訊
等級0表示:表示關機
等級1表示:單使用者模式
等級2表示:無網路連線的多使用者命令列模式
等級3表示:有網路連線的多使用者命令列模式
等級4表示:不可用
等級5表示:帶圖形介面的多使用者模式
等級6表示:重新啟動
檔案在 /etc/inittab
Linux基礎 命令(四)
本文存在多處細節需要分篇而寫,在這裡先簡單列出命令使用,後期找時間會進行插圖詳細說明。掛載du df file df k df h du sk file 檢視掛載資訊,df k 和 h 沒有太大區別,都可以自己試試看。分割槽sudo fdisk pname 管理分割槽,分割槽建立,刪除 針對兩t以下...
Linux基礎命令(四)
31 配置當前使用者環境變數 vim etc profile 32 su ryze 切換使用者 33 sudo su 進入root身份 34 sudo password gec 給gec使用者改密碼 35 命令模式下 刪除命令 dd 刪除 游標所在行 n dd 刪除指定的行數 撤銷命令 u 一步步撤...
linux達人養成計畫學習筆記(四) 壓縮命令
一 常見的壓縮格式 二 zip格式壓縮 1 壓縮檔案 資料夾 zip 壓縮後檔名 zip結尾 壓縮檔案名 zip r 壓縮後資料夾 zip結尾 壓縮檔案 2 解壓縮 unzip 壓縮檔案三 gz格式壓縮 1 壓縮 gzip 原始檔 壓縮為.gz格式的壓縮檔案,原始檔會消失 gzip c 原始檔 壓縮...