十分钟运行一次,但是定时任务无法运行,crontab如何定时任务 啊
你的crontab 语法有问题,这么写【10 * * * *】是每个小时的第10分钟执行,改成【 */10 * * * *】试试。
先检测是crontab 无法启动还是你的脚本代码有问题,用crontab 执行一些简单定时任务看能不能运行,如能运行,就是你的代码执行有问题
先确定你的脚本是否可以运行,自己先运行一下,我感觉应该不能运行,你在root下创建文件夹和文件,看看有没有执行的权限,没有的话就给它赋予执行权限,可以给twitter赋予执行递归权限,这样他下面的文件也有这个权限了,一般来说文件都是在opt目录下创建执行的
linux你编写好定时任务,每次修改都要重启服务,不重启服务定时任务无效,即便你可以通过命令查看有这个任务也没用
crontab -e 会打开一个文本编辑器,按“i”键进入编辑模式,填写具体任务计划
crontab -l //列出当前的所有调度任务
crontab -l -u test //列出用户test的所有调度任务
crontab -r //删除所有任务调度工作
service crond restart //重启服务
1、布置定时任务
1、定义定时任务函数
def test():
print 123
#你要执行的任务函数
2、在 settings.py中的最后增加指定参数
CRONJOBS = [
('*/5 * * * *','你的app名.定时函数所在的py文件名.定时函数名','>>输出文件路径和名称')
]
#如果你有多个定时任务,都放入CORJOBS中即可
#‘>>/home/test.log’,通常会输出信息到一个文件中,
#就使用这个方法,注意的是‘>>’表示追加写入,’>’表示覆盖写入。
===========================================================
crontab的定时书写格式:
f1 f2 f3 f4 f5
分 时 日 月 周
第一列f1代表分钟1~59:
当f1为*表示每分钟都要执行;
为*/n表示每n分钟执行一次;
为[a-b]表示从第a分钟到第b分钟这段时间要执行;
为a,b,c,...表示第a,b,c分钟要执行
第二列f2代表小时0~23(0表示凌晨):
当f2为*表示每小时都要执行;
为*/n表示每n小数执行一次;
为a-b表示从第a小时到第b小时这段时间要执行;
为a,b,c,...表示第a,b,c小时要执行
第三列f3代表日1~31:含义如上所示,以此类推
第四列f4代表月1~12:含义如上所示,以此类推
第五列f5代表星期0~6(0表示星期天)
2、启动定时任务
#将任务添加并生效
python manage.py crontab add
#显示当前的定时任务
python manage.py crontab show
#删除所有定时任务
python manage.py crontab remove
#重启django服务
#执行定时任务
corntab -e