本篇文章給大家分享的是有關(guān)怎么在Python中使用crontab模塊清除定時任務(wù),小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
超過10多年行業(yè)經(jīng)驗,技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè),成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,小程序制作,微信開發(fā),成都App制作,同時也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營銷和我們一樣獲得訂單和生意!centos7下安裝Python的pip
root用戶使用yum install -y python-pip
時會報如下錯誤:
No package python-pip available
Error:Nothing to do
解決方法如下:
首先安裝epel擴(kuò)展源:
yum -y install epel-release
更新完成之后,就可安裝pip:
yum -y install python-pip
安裝完成之后清除cache:
yum clean all
這是在root用戶時使用的命令,當(dāng)前用戶如果不具有root權(quán)限,加上sudo。
在其他Linux類似centos衍生的發(fā)行版也可以用此方法解決。
安裝python定時任務(wù)模塊:
pip install python-crontab
安裝成功:可成功import
該模塊
[root@centos7 mnt]# python Python 2.7.5 (default, Jul 13 2018, 13:06:57) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import crontab >>>
封裝一個類,用來新增和清除定時任務(wù):
# coding=utf-8 from crontab import CronTab class Crontab_Update(object): def __init__(self): # 創(chuàng)建當(dāng)前用戶的crontab,當(dāng)然也可以創(chuàng)建其他用戶的,但得有足夠權(quán)限 self.cron = CronTab(user=True) # self.cron = CronTab(user='website') def add_crontab_job(self, cmmand_line, time_str, commont_name, user): # 創(chuàng)建任務(wù) job = self.cron.new(command=cmmand_line) # 設(shè)置任務(wù)執(zhí)行周期 job.setall(time_str) # 給任務(wù)添加一個標(biāo)識,給任務(wù)設(shè)置comment,這樣就可以根據(jù)comment查詢 job.set_comment(commont_name) # 將crontab寫入配置文件 # self.cron.write() self.cron.write_to_user(user=user) # 指定用戶,寫入指定用戶下的crontab任務(wù) def del_crontab_jobs(self, comment_name, user): # 根據(jù)comment查詢,當(dāng)時返回值是一個生成器對象, # 不能直接根據(jù)返回值判斷任務(wù)是否存在, # 如果只是判斷任務(wù)是否存在,可直接遍歷my_user_cron.crons # jobs = self.cron.find_comment(commont_name) # 返回所有的定時任務(wù),返回的是一個列表 # a = self.cron.crons # print 'a = ', a # print 'len(a) = ', len(a) # 按comment清除定時任務(wù) # self.cron.remove_all(comment=comment_name) # 按comment清除多個定時任務(wù),一次write即可 self.cron.remove_all(comment=comment_name) self.cron.remove_all(comment=comment_name+ ' =') # 清除所有定時任務(wù) # self.cron.remove_all() # 寫入配置文件 # self.cron.write() self.cron.write_to_user(user=user) # 指定用戶,刪除指定用戶下的crontab任務(wù) if __name__ == "__main__": print 'start --------' cmmand_line = "/usr/bin/python /mnt/print_time.py" time_str = "* * * * *" commont_name = "Test_Crontab_Job" user = "xue" # 創(chuàng)建一個實例 crontab_update = Crontab_Update() # 調(diào)用函數(shù)新增一個crontab任務(wù) # print '&&&&&& add_crontab_job ' # crontab_update.add_crontab_job(cmmand_line, time_str, commont_name, user) print '&&&&&& del_crontab_jobs ' crontab_update.del_crontab_jobs(commont_name, user) print 'end -------'
定時任務(wù)執(zhí)行的python腳本如下:print_time.py
# coding=utf-8 import datetime # datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") with open('/mnt/datetime_log.txt', 'a') as f: f.write(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")+"\n") f.close()
設(shè)置定時任務(wù)后:
下面可通過命令查看,是否創(chuàng)建成功:
crontab -l
結(jié)果如下:
清除定時任務(wù)后:
以上就是怎么在Python中使用crontab模塊清除定時任務(wù),小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。