crontab的使用
首先pip install python-crontab
在linux中使用crontab -l 查找当前定时的有哪些任务
crontab -e 可以进入文档进行编辑定时任务
定时任务的时间有 五个* * * * * 分别对应:
- 第一个对应minute(分钟)
- 第二个对应hour(小时)
- 第三个对应day of month(月的第几天)
- 第四个对应month(月)
- 第五个对应day of week(周的第几天)
时序语法中的星号「*」表示每次都会运行
在定时文件中加入 00 20 * * * python test.py 表示每天的20:00运行test.py文件
但是python使用的是系统默认python,因此需要替换为自己的python环境路径
test.py文件需要写为绝对路径
也可以手动创建文件运行
from crontab import Crontab
my_cron = Crontab('your name')
for job in my_cron:
print(job) #显示现在有哪些定时任务
#创建新的定时任务
job = my_cron.new(command= 'python环境路径 py文件绝对路径' ,comment='dateinfo') #给这个job起个注释名
job.minute.every(1) #每1分钟运行1次 hour.every(1) 每1小时运行一次
my_cron.write()
#删除定时job
for job in my_cron:
if job == 'dateinfo':
my_cron.remove(job)
my_cron.write()
#删除所有任务
my_cron.remove_all()
my_cron.write()
检查作业时间表
python-crontab 提供了检查特定作业的时间表的功能。但是它有个依赖,你需要安装 croniter。 使用 pip 安装 croniter:
import datetime
from crontab import CronTab
my_crons = CronTab(user='kevin')
for job in my_crons:
sch = job.schedule(date_from=datetime.datetime.now())
print(sch.get_next())
最后创建定时任务完成后可以查看:
使用 crontab -l
使用crontab -e