虚拟环境中的crontab定时任务

问题

我有一个自动签到的小脚本,今天在日志里面发现,在重新初始化主机后连着几天已经都没有执行过了。

解决

经过简单的测试发现是缺少库,原来当我使用系统定时任务服务时,就不是在虚拟环境了,因此这些依赖库必须要安装在系统层。但这样不就违背了我隔离环境的初衷了么?所以还是不要在系统层安装,将定时任务的python3改成虚拟环境的python3所在的完整路径即可。

补充

为什么要使用系统定时任务呢?因为如果一直让脚本挂在后台运行,进程会一直占着资源,而实际上每天就是运行1秒钟的事。而Linux恰好有一个定时管理命令:crontab
最简单的操作是使用命令

$ crontab -e

然后系统会用默认的编辑器(如vi)打开任务配置文件。之前在Ubuntu上用的时候这个文件里面会有一段说明教你如何写定时任务的格式。不过我在阿里云ECS上的CentOS上打开的时候遇到是一个空文件,不过这不重要。每天定时执行的任务按照格式:

m h  * * *   <your_cmd>

填写(m是分钟(0~59),h是小时(0~23),剩余的三个*占位符依次代表“某一月的某一日期(1-31)”“月份(1-12或名称)”“周几(0-7或名称)”)即可。
下面列出几个不同需求的写法:

30 4  1,15 * 5    <your_cmd>      # run at 4:30 am on the 1st and 15th of each month, plus every Friday.
00 09-18  * * *    <your_cmd>      # run at every hour, on the hour, from 9 A.M. (09:00) through 6 P.M. (18:00), every day
0 9,18 * * Mon    <your_cmd>      # run at every Monday, at 9 A.M. and 6 P.M

甚至可以设定每隔两小时执行操作,详见参考资料

参考资料

[1] Linux crontab command

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值