Ubuntu定时任务crontab命令介绍
通過(guò)Linux上的crontab命令,我們可以在規(guī)定的間隔時(shí)間執(zhí)行指定的系統(tǒng)指令或腳本。時(shí)間間隔的單位可以是分鐘、小時(shí)、日、月、周及以上的任意組合。
crontab默認(rèn)在Ubuntu上是已經(jīng)安裝的,若未安裝,則可執(zhí)行以下命令進(jìn)行安裝:
sudo apt-get install cron
cron服務(wù)(守護(hù)進(jìn)程)在系統(tǒng)后臺(tái)運(yùn)行,并且會(huì)持續(xù)地檢查/etc/crontab文件和/etc/cron.*/目錄,也同樣會(huì)檢查/var/spool/cron/目錄。每個(gè)用戶都可以擁有自己的crontab文件,這些文件都位于/var/spool/cron/crontabs目錄中,不可以直接編輯它們,需要通過(guò)crontab命令來(lái)編輯或配置自己的定時(shí)任務(wù)。/etc/crontab是系統(tǒng)的crontab文件,通常只被root用戶或守護(hù)進(jìn)程用于配置系統(tǒng)級(jí)別的任務(wù)。
crontab配件文件分為兩種不同的類(lèi)型:
(1). 系統(tǒng)級(jí)crontab:此類(lèi)型通常由那些需要root或類(lèi)似權(quán)限的系統(tǒng)服務(wù)和重要任務(wù)是要;
(2). 用戶的crontab:用戶可以使用crontab命令來(lái)安裝屬于他們自己的定時(shí)任務(wù)。
crontab常用命令參數(shù)介紹:
# 編輯某個(gè)用戶的crontab文件內(nèi)容,如果不指定用戶,則表示編輯當(dāng)前用戶的crontab文件
crontab -e
# 顯示某個(gè)用戶的crontab文件內(nèi)容,如果不指定用戶,則表示顯示當(dāng)前用戶的crontab文件內(nèi)容
crontab -l
# 從/var/spool/cron目錄中刪除某個(gè)用戶的crontab文件,如果不指定用戶,則默認(rèn)刪除當(dāng)前用戶的crontab文件
crontab -r
# 在刪除用戶的crontab文件時(shí)給確認(rèn)提示
crontab -i # crontab -ir
crontab文件格式:第1列:分鐘(minute),取值范圍0~59;第2列:小時(shí)(hour),取值范圍0~23;第3列:日(day),取值范圍1~31;第4列:月(month),取值范圍1~12;第5列:星期(week),取值范圍0~7,這里的0或7代表星期日;第6列:要運(yùn)行的命令(command)。前5列用空格分開(kāi),是設(shè)定時(shí)間的。
在以上各個(gè)列中,還可以使用以下特殊字符:
“*”:指定取值范圍內(nèi)的所有可能的值,如在小時(shí)中,一個(gè)星號(hào)等同于每個(gè)小時(shí);
“,”:指定多個(gè)值的列表,如1,5,10;
“-”:指定一個(gè)值的范圍,如1-5等同于1,2,3,4,5;
“/”:指定一個(gè)時(shí)間的間隔頻率,如在小時(shí)中,*/2,表示每2小時(shí)執(zhí)行一次
crontab文件中的每一行都代表一項(xiàng)任務(wù)。
crontab服務(wù)管理命令:
sudo service cron status # 查看crontab服務(wù)狀態(tài)
sudo service cron start # 啟動(dòng)crontab服務(wù)
sudo service cron stop # 關(guān)閉crontab服務(wù)
sudo service cron restart # 重啟crontab服務(wù)
sduo service cron reload # 重新載入crontab配置
示例:首先執(zhí)行:$ crontab -e ,編輯crontab文件,內(nèi)容如下圖所示,保存:
test.py內(nèi)容如下:
import datetimeprint("now time:",datetime.datetime.now())
然后執(zhí)行:$ sudo service cron restart ,過(guò)幾分鐘后info.txt文件的內(nèi)容如下:
最后取消crontab任務(wù),執(zhí)行: $ crontab -ri ,執(zhí)行結(jié)果如下圖所示,下圖中的上半部分顯示的結(jié)果是在執(zhí)行crontab -ri前先執(zhí)行crontab -l輸出的結(jié)果:
?
總結(jié)
以上是生活随笔為你收集整理的Ubuntu定时任务crontab命令介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用Python3发送邮件测试代码
- 下一篇: Python3中PyMongo使用举例