python - 使用python crontab设置linux定时任务
2023-09-27 14:29:10 时间
# 熟悉linux的朋友应该知道在linux中可以使用crontab设置定时任务。可以通过命令crontab -e编写任务。# 当然也可以直接写配置文件设置任务。
# 但是有时候希望通过脚本自动设置,比如我们应用程序部署时等。有需求当然就得想办法解决。
# 下面进入正题,开始想通过以写文件的形式设置,通过在配置文件中直接追加一行即可。但是读写文件难免# # 有点繁琐,再比如:设置任务时要检查任务是否已经存在;根据输入参数设置相应的任务等。以读写文件难# # 免不太合适。
# python-crontab模块。安装直接
$ pip install python-crontab
# 下面在脚本上就可以方便的设置计划任务了
from crontab import CronTab
# 创建当前用户的crontab,当然也可以创建其他用户的,但得有足够权限
my_user_cron = CronTab(user=True)
# 创建任务
job = my_user_cron.new(command='echo date >> ~/time.log')
# 设置任务执行周期,每两分钟执行一次
job.setall('*/2 * * * *')
# 当然还支持其他更人性化的设置方式,简单列举一些
job.minute.during(5,50).every(5)
job.hour.every(4)
job.day.on(4, 5, 6)
job.dow.on('SUN')
job.dow.on('SUN', 'FRI')
job.month.during('APR', 'NOV')
job.setall(time(10, 2))
job.setall(date(2000, 4, 2))
job.setall(datetime(2000, 4, 2, 10, 2))
# 同时可以给任务设置comment,这样就可以根据comment查询,很方便
job.set_comment("time log job")
# 根据comment查询,当时返回值是一个生成器对象,不能直接根据返回值判断任务是否#存在,如果只是判断任务是否存在,可直接遍历my_user_cron.crons
iter = my_user_cron.find_comment('time log job')
# 同时还支持根据command和执行周期查找,基本类似,不再列举
# 任务的disable和enable, 默认enable
job.enable(False)
job.enable()
# 最后将crontab写入配置文件
my_user_cron.write()
# 写一些其他用户的crontab:
cron.write_to_user(user ='user_name')
# 下面可通过命令查看,是否创建成功:
$ crontab -l
相关文章
- Python脚本破解Linux口令(crypt模块)
- python爬虫知识点总结(十)分析Ajax请求并抓取今日头条街拍美图
- Python BeautifulSoup4
- linux下创建python虚拟环境
- Python 配置文件之ConfigParser模块(实例、封装)
- 图像金字塔、高斯金字塔、拉普拉斯金字塔是怎么回事?附利用拉普拉斯金字塔和高斯金字塔重构原图的Python-OpenCV代码
- 79 python - 打飞机案例(敌机发射子弹)
- linux下如何编译python生成libpython2.5.so动态库
- gyp ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- linux安装Python
- python绘图工具matplotlib在linux下安装和使用
- python模块之HTMLParser(原理很大程度上就是对类构造的熟练运用)
- Python中文分词库——jieba
- 基于Python+Sqlite实现(图形化)民航售票管理系统【100010198】
- 什么是Python?主要运用哪些方面?
- python 常见分布的产生方式
- 2D Pose人体关键点实时检测(Python/Android /C++ Demo)
- 华为OD机试 - 最长连续子串(Python)| 真题+思路+考点+代码+岗位
- python 操作excel根据某一行的数值对一行进行复制扩行-代码实现
- 学习python第二天数据库day1
- Linux - Ubuntu里安装Python的包
- Python 多线程