欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用crontab模塊設(shè)置和清除定時任務(wù)操作詳解

 更新時間:2019年04月09日 10:15:29   作者:xuezhangjun  
這篇文章主要介紹了Python使用crontab模塊設(shè)置和清除定時任務(wù)操作,結(jié)合實例形式分析了centos7平臺上Python安裝、python-crontab模塊安裝,以及基于python-crontab模塊的定時任務(wù)相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python使用crontab模塊設(shè)置和清除定時任務(wù)操作。分享給大家供大家參考,具體如下:

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ù)后:

還有一些功能沒有完全介紹,大家可以參考官方文檔https://pypi.python.org/pypi/python-crontab

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python日期與時間操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python函數(shù)中的不定長參數(shù)相關(guān)知識總結(jié)

    Python函數(shù)中的不定長參數(shù)相關(guān)知識總結(jié)

    今天給大家?guī)淼氖顷P(guān)于Python函數(shù)的相關(guān)知識,文章圍繞著Python不定長參數(shù)展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Python基于回溯法子集樹模板實現(xiàn)圖的遍歷功能示例

    Python基于回溯法子集樹模板實現(xiàn)圖的遍歷功能示例

    這篇文章主要介紹了Python基于回溯法子集樹模板實現(xiàn)圖的遍歷功能,結(jié)合實例形式分析了Python使用回溯法子集樹模板針對圖形遍歷問題的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2017-09-09
  • 詳解pandas中利用DataFrame對象的.loc[]、.iloc[]方法抽取數(shù)據(jù)

    詳解pandas中利用DataFrame對象的.loc[]、.iloc[]方法抽取數(shù)據(jù)

    這篇文章主要介紹了pandas中利用DataFrame對象的.loc[]、.iloc[]方法抽取數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python中random.randint和random.randrange的區(qū)別詳解

    python中random.randint和random.randrange的區(qū)別詳解

    這篇文章主要介紹了python中random.randint和random.randrange的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 用Python實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)(附代碼)

    用Python實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)(附代碼)

    這篇文章主要介紹了用Python實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)(附代碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python錯誤處理操作示例

    Python錯誤處理操作示例

    這篇文章主要介紹了Python錯誤處理操作,結(jié)合實例形式分析了Python使用try...except...finaly語句進(jìn)行錯誤處理的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2018-07-07
  • 完美解決Pycharm中matplotlib畫圖中文亂碼問題

    完美解決Pycharm中matplotlib畫圖中文亂碼問題

    這篇文章主要介紹了完美解決Pycharm中matplotlib畫圖中文亂碼問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • python使用自定義user-agent抓取網(wǎng)頁的方法

    python使用自定義user-agent抓取網(wǎng)頁的方法

    這篇文章主要介紹了python使用自定義user-agent抓取網(wǎng)頁的方法,涉及Python使用urllib2模塊操作網(wǎng)頁的技巧,需要的朋友可以參考下
    2015-04-04
  • Python科學(xué)計算之NumPy入門教程

    Python科學(xué)計算之NumPy入門教程

    這篇文章主要介紹了Python科學(xué)計算之NumPy,文中給出了詳細(xì)的介紹與示例代碼,對大家的理解具有一定的參考借鑒價值,有需要的朋友可以一起來學(xué)習(xí)學(xué)習(xí)。
    2017-01-01
  • Python實現(xiàn)將HTML轉(zhuǎn)換成doc格式文件的方法示例

    Python實現(xiàn)將HTML轉(zhuǎn)換成doc格式文件的方法示例

    這篇文章主要介紹了Python實現(xiàn)將HTML轉(zhuǎn)換成doc格式文件的方法,涉及Python htmlparser及docx模塊的相關(guān)使用技巧,需要的朋友可以參考下
    2017-11-11

最新評論