在某个时间段执行某个程序,准确的说是“定时任务”,我这里介绍2中linux(ubuntu)下定时执行python脚本的方式。
方法一:
准备好定时启动的脚本auto.py
用root权限编辑以下文件
在文件末尾添加以下命令
以上代码的意思是每隔两分钟执行一次脚本并打印日志。
crontab编写解释
基本格式
举例说明
方法二:
APScheduler定时框架
APScheduler是一个Python定时任务框架,使用起来十分方便。提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务、并以daemon方式运行应用。
使用APScheduler需要安装
每天早上6点半执行的例子
代码中的BlockingScheduler是什么呢?
BlockingScheduler是APScheduler中的调度器,APScheduler中有两种常用的调度器,BlockingScheduler和BackgroundScheduler,当调度器是应用中唯一要运行的任务时,使用BlockingSchedule,如果希望调度器在后台执行,使用BackgroundScheduler。
代码中是cron是什么?
cron:在特定时间周期性地触发
crontab- *** 作每个用户的守护程序和该执行的时间表。部分参数说明
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量。
下面是一个例子文件:
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
#每天早上6点
106* * * date
#每两个小时
0*/2* * * date
#晚上11点到早上8点之间每两个小时,早上部点
0 23-7/2,8* * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4* mon-wed date
#1月份日早上4点
0 4 1 jan* date
范例
lark:~>crontab-1 列出用户目前的crontab.
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
10 6* * * date
0*/2* * * date
0 23-7/2,8 * * * date
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)