linux下编写一个shell脚本 每天0点 定时执行某一可执行程序test。 刚学习shell希望大侠们给个代码参考!

linux下编写一个shell脚本 每天0点 定时执行某一可执行程序test。 刚学习shell希望大侠们给个代码参考!,第1张

在某个时间段执行某个程序,准确的说是“定时任务”,我这里介绍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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8292174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存