python版crontab使用说明
此定时控制台主要针对于windows计划任务坏掉,或者各种毛病的问题,类似于linux的crontab
最佳支持环境:python 3.8
配置文件
主要配置文件为crontab.txt
在文件最底下已经给出了示例,关于定时的时间写法基本与cron表达式类似
m | h | dom | mon | dow | command |
---|---|---|---|---|---|
分钟 | 小时 | 每月的第n天 | 月 | 每周的第n天,0代表星期一以此类推 | 指令,支持相对路径和绝对路径 |
比如想要一个礼拜运行一次可以设定为每周日运行:
0 0 * * 6
使用
usage: python crontab.py [crontab.txt]
当然如果txt文件在同一目录,不加也可以
增强版的钉钉推送
使用前请先安装依赖:pip install dingtalkchatbot
如果pip找不到,请添加环境变量,默认路径C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts
增加了钉钉群机器人推送,如果需要使用,主要配置都在前三行,修改即可
字段 | 作用 |
---|---|
enable_dingtalk | 是否开启钉钉推送True 或者False |
dingtalk_webhook | 钉钉群机器人webhook地址 |
dingtalk_secret | 钉钉群机器人加签值 |
推送事件:
- 程序开始正常运行
- 执行命令成功/失败,目前不支持返回值,如果运行的脚本出现错误,还是会显示运行成功
- 程序被人为ctrl+c终止或者使用winsw关闭
目前无法监听程序意外退出(按理不可能)
使用winsw配置开机自启并隐藏控制台
winsw是windows平台下的一个方便的服务添加程序,可以以服务的形式运行程序或脚本,并且也可以实现开机自启,还有干掉烦人的黑框框
由于winsw并不支持原生调用python程序,或者可能是比较麻烦(不会),所以需要新建一个bat
python crontab-dingtalk.py
- 如果使用winsw运行,推荐开启钉钉推送,否则无法正常输出日志
注意python需要手动添加至系统环境变量中,否则无法找到,就算安装的时候点Add Path也没用!
可以执行where python
来查看安装位置
编辑winsw.xml
<service>
<id>crontab定时任务</id>
<name>crontab定时任务</name>
<description>crontab定时任务</description>
<executable>run.bat</executable>
<arguments></arguments>
<logmode>reset</logmode>
</service>
这种写法需要这些都在同一个目录下
然后运行winsw安装.bat
或者执行:
winsw install
等待提示成功后,系统服务中就会多出来一项,这时候就可以运行winsw启动.bat
了:
winsw start
如果开启了钉钉推送,程序会在正常运行后推送消息到钉钉,这时候就可以不管了,只需要确保你的脚本路径或者脚本内容正确就行了。
如果无法实现开机自启,可以运行services.msc
查看服务状态是否为自动。
下载地址:
winCron.7z
分别是哔哩哔哩序号35,小米运动序号2,米友社序号13,这个是同一个账号下运行的任务