【django】使用django-crontab执行django自定义指令
django-crontab 部署
需求:再指定的时间内输入django的自定义指令,来进行一些需求的操作。
使用流程:
1.安装:
pip install django-crontab
2.配置 settings.py文件:
再settings.py 文件中添加 django-crontab:
INSTALLED_APPS = (...'django_crontab',
)
3.配置django-crontab:
再settings.py中添加一下命令:
CRONJOBS = [# 定时函数每分钟执行一次('*/1 * * * *', '你的app名.定时函数所在的py文件名.定时函数名'),# 将定时函数执行结果输出到指定文件(如果该路径或文件不存在将会自动创建)('*/1 * * * *', '你的app名.定时函数所在的py文件名.定时函数名', '>> 输出文件路径和名称')
]
如果要再指定的时间内输入django自定义的指令,其实还可以定时函数:
CRONJOBS = (# 每天早上6点执行命令('0 6 * * *', 'django.core.management.call_command', ['要执行的命令']),
)
注意:要执行的命令,直接输入你django项目中自定义的指令就好,不需要添加python manage.py xxxxx(自定义指令)
操作命令:
查看系统中已有的定时任务:
python manage.py crontab show
添加和修改定时任务:
python manage.py crontab add
删除定时任务:
python manage.py crontab remove
注意事项:
1:该django-crontab : 不能再win系统上操作。
2:如果再操作命令的时候报错:
RuntimeError: No job with hash 18a9888406b9f5486e6b7ea52ee68dbf found. It seems the crontab is out of sync with your settings.CRONJOBS. Run “python manage.py crontab add” again to resolve this issue!
解决方案:意思就是修改过了,可以再执行一次命令就好:
python manage.py crontab add
3:django-crontab 必须再linux的crontab开启的情况下才可以使用。
4:如果你测试有没有跑通的时候,输入的只是一个print()语句的话,那么你将看不到任何内容。
可以再/var/spool/mail/root中查看你的输入语句:
一般这种情况mail的内容就只是一些正常的系统信息或者是比较重要的错误报告。如果你安装了mutt的话直接用这个命令就可以查看mail的内容(用root登陆先),没有装的话用cat /var/spool/mail/root查看(用root登陆先)。
crontab的运行时间举例:
crontab范例 :
每五分钟执行 */5 * * * *每小时执行 0 * * * *每天执行 0 0 * * *每周执行 0 0 * * 0每月执行 0 0 1 * *
crontab 常用命令:
crontab -e 编辑定时任务
crontab -l 查看定时任务
还可以使用shell脚本来实现定时执行自定义指令:
写一个shell脚本来自动运行:
创建一个shell脚本:
#!/bin/bash/usr/bin/python /xxx/xxx/xxx/manage.py sss
xxx:manage.py 所在的目录下的绝对路径
切换到manange.py 所在的目录 pwd:查看当前的路径。
sss:代表你django中自定义的指令
输入命令:crontab -e 编辑定时任务:
输入
0 16 * * * /xxx/xxx/xxx/lhq.sh > /xxxx/xxxx/xxxx/log.log 2>&1
1
0 16 * * *代表的是,每天的16点进行一次操作
把lhq.sh 刚才创建的shell脚本放到跟manage.py同级目录下:
xxx代表的是:绝对路径
lhq.sh 后面的 > /xxxx/xxxx/xxxx/log.log 2>&1 导入log日志 xxxx 代表的是导入log日志的绝对路径。
注意:
可能此刻crontab没有跑起来, 去查看log 日志会提示你Permission denied
解决方案:chmod 777 lhq.sh 就Ok了。
【django】使用django-crontab执行django自定义指令相关推荐
- Django从理论到实战(part15)--自定义path转换器
学习笔记,仅供参考 参考自:Django打造大型企业官网: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列中,尽量详细的写 ...
- pta段错误是什么意思_用Python执行Django数据迁移时报!(1091错误及解决方法)...
前言: 今天为大家带来的内容是用Python执行Django数据迁移时报!(1091错误及解决方法)本文内容具有不错的参考意义,希望在此能够帮助到大家! 前几天在Pycharm 中的Terminal下 ...
- 用Python执行Django数据迁移时报!(1091错误及解决方法)
前言: 今天为大家带来的内容是用Python执行Django数据迁移时报!(1091错误及解决方法)本文内容具有不错的参考意义,希望在此能够帮助到大家! 前几天在Pycharm 中的Terminal下 ...
- python框架django文档_Django基础——Django框架介绍及模板语言
Django框架,我们只需要关心二点: 1.根据用户访问不同的路径执行不同的函数 2.从HTML读取出内容,并且完成字符串的替换 而socket通信不需要我们自己写: 新建Django项目 命令行创建 ...
- Django讲课笔记03:创建Django项目
文章目录 零.本讲学习目标 一.课程导入 (一)Web框架 (二)WSGI 二.新课讲授 (一)使用内置指令创建Django项目 1.主要文件 (1)manage.py (2)init.py (3)a ...
- Python 之 Django框架( Cookie和Session、Django中间件、AJAX、Django序列化)
12.4 Cookie和Session 12.41 cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务 ...
- Django教程:第一个Django应用程序(1部分)
2019独角兽企业重金招聘Python工程师标准>>> Django教程:第一个Django应用程序(1部分) 请看实例.本教程中将创建一个基本的投票应用. 它由两部分组成:查看投票 ...
- Django框架学习——1—(虚拟环境搭建、MVC思想与Django的MVT区别、Django项目的创建、运行Django项目、项目结构介绍)
1.虚拟环境搭建 创建新的Django框架的虚拟环境: 注意:如果没有pipenv指令,需要安装这个支持库,同时需要记住配置它的环境变量,否则虚拟环境会安装在默认文件夹下(一般是C:\Users\Ad ...
- php django mysql配置文件_Mysql学习Django+mysql配置与简单操作数据库实例代码
<Mysql学习Django+mysql配置与简单操作数据库实例代码>要点: 本文介绍了Mysql学习Django+mysql配置与简单操作数据库实例代码,希望对您有用.如果有疑问,可以联 ...
最新文章
- PaddlePaddle yolov3
- 学python有哪些书推荐-有什么Python学习的书籍和学习资源推荐?
- 通过实例理解 RabbitMQ 的基本概念
- idea:打包jar(原文by曲高终和寡)
- linux 终端调用MATLAB程序
- 3位水仙花数计算pythonoj_Python解答蓝桥杯省赛真题之从入门到真题
- RedisTemplate清空所有键值对
- 去掉源代码里的debug标致
- 谁是杨强?首位AAAI华人主席,身兼5大顶级组织Fellow,也是华为诺亚方舟实验室开创者...
- JavaScript 对象分类
- iPhone清理喇叭灰尘_厉害了!原来可以这样一键清理 iPhone 喇叭灰尘!
- 《论文阅读》D3DLO: DEEP 3D LIDAR ODOMETRY
- 最新席瓦莱恩服务器人口比例,2021魔兽世界怀旧服3月人口普查_最新怀旧服3月人口普查数据一览_3DM网游...
- Testin云测:搜狐新闻客户端5.0能否承载张朝阳“个性化阅读”梦想
- 像素是计算机图像处理的最小单元,图像处理复习
- java string转elements_Java异常堆栈信息转String
- CH330显示未知USB设备(设备描述符请求失败)
- CAP迷思:关于分区容忍性
- input自动填充后背景颜色被覆盖的问题
- 程序员真实从零开始实操 赚钱渠道之一CPS