Linux crontab 命令的使用
1.命令簡介
contab(cron table) 命令被用管理用戶的需要周期性執(zhí)行的任務(wù),與 Windows 下的計(jì)劃任務(wù)類似,當(dāng)安裝完操作系統(tǒng)后,默認(rèn)會安裝此服務(wù)工具,并且會自動啟動 crond 進(jìn)程,crond 進(jìn)程每分鐘會檢查是否有要執(zhí)行的任務(wù),如果有則執(zhí)行該任務(wù)。
Linux 下的任務(wù)調(diào)度分為兩類,系統(tǒng)任務(wù)調(diào)度和用戶任務(wù)調(diào)度。
系統(tǒng)任務(wù)調(diào)度:系統(tǒng)周期性所要執(zhí)行的工作,比如寫緩存數(shù)據(jù)到硬盤、日志清理等。/etc/crontab 文件是系統(tǒng)任務(wù)調(diào)度的配置文件。
用戶任務(wù)調(diào)度:用戶定期要執(zhí)行的工作,比如用戶數(shù)據(jù)備份、定時郵件提醒等。用戶可以使用 crontab 工具來定制自己的計(jì)劃任務(wù)。所有用戶定義的 crontab 文件都被保存在 /var/spool/cron 目錄中,其文件名與用戶名一致。
系統(tǒng)管理員可以通過/etc/cron.deny 和 /etc/cron.allow 這兩個文件來禁止或允許用戶擁有自己的 crontab 文件。
2.命令格式
crontab [-u USER] FILE crontab [-u USER] [-l | -r | -e] [-i] [-s] crontab -n [ HOSTNAME ] crontab -c
3.選項(xiàng)說明
-u 指定要設(shè)置定時任務(wù)的用戶名 -l 列出當(dāng)前的定時任務(wù) -r 刪除定時任務(wù) -e 編輯用戶的定時任務(wù)。任務(wù)保存在 /var/spool/cron 目錄下與用戶名同名的文件中 -i 在刪除定時任務(wù)前詢問用戶是否確定刪除 -s 在進(jìn)行編輯/替換之前,將當(dāng)前的 SELinux 安全上下文字符串作為 MLS_LEVEL 附加到 crontab 文件 -n [HOSTNAME] 此選項(xiàng)只有當(dāng) cron(8) 使用 -c 選項(xiàng)啟動以支持集群環(huán)境時才使用,用于指定集群中哪個主機(jī)執(zhí)行定時 crontab 文件中的定時任務(wù)。如果省略了主機(jī)名,則使用 gethostname(2) 返回的本地主機(jī)名 -c 此選項(xiàng)只有當(dāng) cron(8) 使用 -c 選項(xiàng)啟動以支持集群環(huán)境時才使用,用于查詢集群中當(dāng)前哪個主機(jī)執(zhí)行定時 crontab 文件中的定時任務(wù)
4.用戶配置文件
crontab 文件保存了用戶的定時任務(wù),以特定格式保存在 /var/spool/cron 目錄下與用戶名同名的文件中。例如如果是 root 用戶,那么添加任務(wù)時,會在該路徑下有一個 root 文件。Linux 的 cron 服務(wù)會每隔一分鐘去讀取一次 /var/spool/cron 目錄下面所有的內(nèi)容。
crontab 文件每一行代表一項(xiàng)任務(wù),每項(xiàng)任務(wù)分為六個字段,前五個字段是時間字段,第六個字段是要執(zhí)行的命令,格式如下:
minute hour day month week command
minute 分鐘,取值范圍 0 到 59;
hour 小時,取值范圍 0 到 23;
day 日期,取值范圍 1 到 31;
month 月份,取值范圍 1 到 12,或 jan,feb,mar,apr…;
week 星期,取值范圍 0 到 7,或 sun,mon,tue,wed,thu,fri,sat。注意 0 和 7 均代表星期日;
command 要執(zhí)行的命令,可以是系統(tǒng)命令,也可以是自己編寫的腳本文件;
在以上各個時間字段中,還可以使用以下特殊字符:
* 表示所有可能的值,例如 minute 是 *,表示每分鐘都執(zhí)行命令
, 可以用逗號隔開的值指定一個列表,例如,1,2,5,7,8,9
- 可以用整數(shù)之間的橫杠表示一個范圍,例如 2-6 表示 2,3,4,5,6
/ 可以用斜杠指定時間的間隔頻率,例如 minute 為 */2 表示每兩分鐘執(zhí)行一次命令
注意,crontab 文件注釋符號為 #。
5.系統(tǒng)配置文件
除了用戶的 crontab 文件,與定時任務(wù)相關(guān)的系統(tǒng)配置文件有:
/etc/crontab 系統(tǒng)定時任務(wù)配置文件 /etc/cron.d 自動定期需要做的任務(wù) /etc/cron.hourly 每小時執(zhí)行一次的任務(wù) /etc/cron.daily 每天執(zhí)行一次的任務(wù) /etc/cron.weekly 每周執(zhí)行一次的任務(wù) /etc/cron.monthly 每月執(zhí)行一次的任務(wù) /etc/cron.allow 該文件中所列用戶允許執(zhí)行定時任務(wù) /etc/cron.deny 該文件中所列用戶不允許執(zhí)行定時任務(wù) /var/log/cron crontab 的日志文件
Linux 的 cron 服務(wù)會每隔一分鐘去讀取一次 /etc/crontab 文件和 /etc/cron.d 目錄下面所有的內(nèi)容。/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和 /etc/cron.monthly 下的任務(wù)也會間接按照相應(yīng)的周期被調(diào)用。
6.常用示例
(1)添加定時任務(wù)。
crontab -e * * * * * command # 每分鐘執(zhí)行一次 command 3,15 * * * * command # 每小時的第 3 和第 15 分鐘執(zhí)行 3,15 8-11 * * * command # 上午 8 點(diǎn)到 11點(diǎn)每小時第 3 和第 15 分鐘執(zhí)行 3,15 8-11 * * 1 command # 每個星期一的上午 8 點(diǎn)到 11 點(diǎn)的第 3 和第 15 分鐘執(zhí)行 3,15 8-11 1 * * command # 每個月一號上午 8 點(diǎn)到 11 點(diǎn)的第 3 和第 15 分鐘執(zhí)行 3,15 8-11 1 1 * command # 每年一月一號上午 8 點(diǎn)到 11 點(diǎn)的第 3 和第 15 分鐘執(zhí)行 0 */2 * * * /sbin/service httpd restart # 每隔兩個小時在第 0 分時候重啟一次 httpd
(2)查看定時任務(wù)。
crontab -l
(3)刪除定時任務(wù),即清除 /var/spool/cron 目錄下 crontab 文件。危險(xiǎn)動作,請注意備份。
crontab -r
(4)將指定的 crontab 文件還原到 /var/spool/cron 目錄下。
crontab FILE
以上就是Linux crontab 命令的使用的詳細(xì)內(nèi)容,更多關(guān)于Linux crontab 命令的資料請關(guān)注腳本之家其它相關(guān)文章!
- Linux環(huán)境使用crontab命令設(shè)置定時周期性執(zhí)行任務(wù)【含php執(zhí)行代碼】
- Linux crontab定時執(zhí)行Shell腳本需要執(zhí)行特定的命令時解決思路
- Linux定時任務(wù)Crontab命令使用詳解與總結(jié)
- Linux下的crontab定時執(zhí)行任務(wù)命令詳解
- 在linux上定期執(zhí)行命令、腳本(cron,crontab,anacron)
- Linux定時執(zhí)行任務(wù)at和crontab命令詳解
- Linux Crontab 啟動 、運(yùn)行 和編輯 查看的命令
- Linux crontab 命令格式與詳細(xì)示例(推薦)
相關(guān)文章
Linux關(guān)于Sudo的隱晦bug引發(fā)的一次業(yè)務(wù)問題排查
這篇文章主要介紹了Linux關(guān)于Sudo的隱晦bug引發(fā)的一次業(yè)務(wù)問題排查,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
Linux?gdb調(diào)試正在運(yùn)行中的程序方式
這篇文章主要介紹了Linux?gdb調(diào)試正在運(yùn)行中的程序方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
電腦意外關(guān)機(jī)后VMware中l(wèi)inux不能聯(lián)網(wǎng)問題的解決方法
這篇文章主要為大家解決電腦意外關(guān)機(jī)后,再次開機(jī)啟動VMware時發(fā)現(xiàn)linux不能聯(lián)網(wǎng)的問題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
詳解Linux查看實(shí)時網(wǎng)卡流量的幾種方式
本篇文章中主要介紹了詳解Linux查看實(shí)時網(wǎng)卡流量的幾種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
Linux?Tomcat的服務(wù)器查看接口請求方式的方法
本文講述了在安卓開發(fā)中遇到的接口405錯誤,懷疑是由于客戶端用GET請求代替了POST,通過查看ApacheTomcat的localhost_access_log日志確認(rèn)請求方式并定位問題,可能是緩存導(dǎo)致,所以講解了Linux?Tomcat的服務(wù)器查看接口請求方式的方法,需要的朋友可以參考下2024-07-07
使用FileZilla從Linux系統(tǒng)下載文件的方法
最近做項(xiàng)目,遇到這樣的需求,要求將Linux系統(tǒng)的的某個文件夾下載到我Windows系統(tǒng)某個文件夾里,怎么實(shí)現(xiàn)這個功能呢?下面腳本之家小編給大家?guī)砹耸褂肍ileZilla從Linux系統(tǒng)下載文件的方法,感興趣的朋友一起看看吧2018-07-07

