99热99这里只有精品6国产,亚洲中文字幕在线天天更新,在线观看亚洲精品国产福利片 ,久久久久综合网

歡迎加入QQ討論群258996829
麥子學院 頭像
蘋果6袋
6
麥子學院

Linux中使用python crontab設置定時任務的方法詳解

發(fā)布時間:2016-12-11 23:27  回復:0  查看:3160   最后回復:2016-12-11 23:27  

熟悉linux系統(tǒng)的朋友應該知道在linux中可以使用crontab設置定時任務??梢酝ㄟ^命令crontab -e編寫任務。當然也可以直接寫配置文件設置任務。本文和大家分享的就是使用python crontab設置linux定時任務的相關方法,一起來看看吧。

  但是有時候希望通過腳本自動設置,比如我們應用程序部署時等。有需求當然就得想辦法解決,不然在程序猿界混(一群自得其樂的猿)。

  下面進入正題,開始想通過以寫文件的形式設置,通過在配置文件中直接追加一行即可。但是讀寫文件難免有點繁瑣,再比如:設置任務時要檢查任務是否已經存在;根據(jù)輸入?yún)?shù)設置相應的任務等。以讀寫文件難免不太合適。所以想到了萬能的大python。

  當當當,今天的主角上場:python-crontab模塊。安裝直接

  $ pip install python-crontab

  下面在腳本上就可以方便的設置計劃任務了

  from crontab import CronTab

  創(chuàng)建當前用戶的crontab,當然也可以創(chuàng)建其他用戶的,但得有足夠權限

  my_user_cron = CronTab(user=True)

  創(chuàng)建任務

  job = my_user_cron.new(command='echo date >> ~/time.log')

  設置任務執(zhí)行周期,每兩分鐘執(zhí)行一次

  job.setall('*/2 * * * *')

  當然還支持其他更人性化的設置方式,簡單列舉一些

  job.minute.during(5,50).every(5)

  job.hour.every(4)

  job.day.on(4, 5, 6)

  job.dow.on('SUN')

  job.dow.on('SUN', 'FRI')

  job.month.during('APR', 'NOV')

  job.setall(time(10, 2))

  job.setall(date(2000, 4, 2))

  job.setall(datetime(2000, 4, 2, 10, 2))

  同時可以給任務設置comment,這樣就可以根據(jù)comment查詢,很方便

  job.set_comment("time log job")

  根據(jù)comment查詢,當時返回值是一個生成器對象,不能直接根據(jù)返回值判斷任務是否#存在,如果只是判斷任務是否存在,可直接遍歷my_user_cron.crons

  iter = my_user_cron.find_comment('time log job')

  同時還支持根據(jù)command和執(zhí)行周期查找,基本類似,不再列舉

  任務的disableenable, 默認enable

  job.enable(False)

  job.enable()

  最后將crontab寫入配置文件

  my_user_cron.write()

  下面可通過命令查看,是否創(chuàng)建成功:

  $ crontab -l


來源:博客園


您還未登錄,請先登錄

熱門帖子

最新帖子

?