亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

詳解使用python crontab設(shè)置linux定時(shí)任務(wù)

Original 2017-01-12 13:38:57 460
abstract:熟悉linux的朋友應(yīng)該知道在linux中可以使用crontab設(shè)置定時(shí)任務(wù)??梢酝ㄟ^命令crontab -e編寫任務(wù)。當(dāng)然也可以直接寫配置文件設(shè)置任務(wù)。但是有時(shí)候希望通過腳本自動(dòng)設(shè)置,比如我們應(yīng)用程序部署時(shí)等。有需求當(dāng)然就得想辦法解決,不然在程序猿界混(一群自得其樂的猿)。下面進(jìn)入正題,開始想通過以寫文件的形式設(shè)置,通過在配置文件中直接追加一行即可。但是讀寫文件難免有點(diǎn)繁瑣,再比如:設(shè)置任務(wù)時(shí)要

熟悉linux的朋友應(yīng)該知道在linux中可以使用crontab設(shè)置定時(shí)任務(wù)。可以通過命令crontab -e編寫任務(wù)。當(dāng)然也可以直接寫配置文件設(shè)置任務(wù)。

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

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

當(dāng)當(dāng)當(dāng),今天的主角上場(chǎng):python-crontab模塊。安裝直接

$ pip install python-crontab

下面在腳本上就可以方便的設(shè)置計(jì)劃任務(wù)了

from crontab import CronTab 
# 創(chuàng)建當(dāng)前用戶的crontab,當(dāng)然也可以創(chuàng)建其他用戶的,但得有足夠權(quán)限 
my_user_cron = CronTab(user=True) 
# 創(chuàng)建任務(wù) 
job = my_user_cron.new(command='echo date >> ~/time.log') 
# 設(shè)置任務(wù)執(zhí)行周期,每?jī)煞昼妶?zhí)行一次 
job.setall('*/2 * * * *') 
# 當(dāng)然還支持其他更人性化的設(shè)置方式,簡(jiǎn)單列舉一些 
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)) 
# 同時(shí)可以給任務(wù)設(shè)置comment,這樣就可以根據(jù)comment查詢,很方便
job.set_comment("time log job") 
# 根據(jù)comment查詢,當(dāng)時(shí)返回值是一個(gè)生成器對(duì)象,不能直接根據(jù)返回值判斷任務(wù)是否#存在,如果只是判斷任務(wù)是否存在,可直接遍歷my_user_cron.crons 
iter = my_user_cron.find_comment('time log job')
# 同時(shí)還支持根據(jù)command和執(zhí)行周期查找,基本類似,不再列舉 
# 任務(wù)的disable和enable, 默認(rèn)enable 
job.enable(False) 
job.enable() 
# 最后將crontab寫入配置文件 
my_user_cron.write()

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

$ crontab -l

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

更多關(guān)于使用python crontab設(shè)置linux定時(shí)任務(wù)請(qǐng)關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!

Release Notes

Popular Entries