文档章节

为什么crontab任务创建了没执行?

7分04秒
 7分04秒
发布于 2014/07/06 20:43
字数 481
阅读 338
收藏 11

上周在公司写了一个crontab任务,发现没有执行。我仔细查看了sh脚本,里面用到的python命令以及文件,我都采用了全路径。我直接在命令行下跑这个sh脚本,是能正常使用的。

为什么会这样呢?

同事提醒我,可能是权限问题,于是我对脚本涉及到的文件都chmod 777一下,然后把crontab任务的时间改成下一分钟...结果,脚本还是没有起来。

后面通过google了解到:

每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。引用于:http://www.cnblogs.com/cosiray/archive/2012/03/09/2387361.html

这告诉我,测试crontab时,不应该把跑脚本的时间设置成离现在1分钟以内。也就是说,现在如果是14:24分,你设置cronbtab14:25跑,编辑完crontab后,cron还没有来得更新我们刚才编辑文件,也就导致任务没有执行了。


我把任务的启动时间重新设置后,crontab任务就正常启动了。

总结一下,crontab任务没有启动的可能原因:

  • crontab的环境变量和控制台是不同的,比如控制台能直接找到python命令,而到了crontab下,要写python安装的全路径。

  • 保证脚本文件在crontab下有权限运行。

  • 测试crontab时,可能由于启动时间设置不正确,而导致crontab错过执行的时机。建议测试时,把启动的时间设置成2分钟后。

© 著作权归作者所有

共有 人打赏支持
7分04秒
粉丝 5
博文 26
码字总数 15705
作品 0
深圳
程序员
私信 提问
crontab系统使用雷区(为什么cron任务没运行)

写好的程序,手动执行没问题,上crontab就报错 Crontab任务的执行环境与手动执行时的执行环境不同。 手动执行时,任务的执行环境为当前用户或指定用户的执行环境,典型的执行环境是环境变量,...

panzhc
2014/01/08
0
0
Unix crontab命令 添加定时任务

Unix crontab命令 添加定时任务 使用crontab命令要求root身份 1. crontab -1 [username] 列出用户现有任务的列表 RH Linux 为 crontab -u username -l 列出指定用户现有任务的列表 2. cront...

樱花泪
2014/01/09
0
0
Linux crontab命令

前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服...

bill_wu
2015/09/10
83
0
每天一个linux命令(50):crontab命令

前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服...

长平狐
2013/06/17
559
0
crontab命令、定时任务范例

一、crond crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程, 系统默认安装,且会自启动crond进程, crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的...

nineep
06/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式锁的实现

redis实现分布式锁 方法1:普通实现方案 实现方式: 使用指令: set key 随机值 ex 5 nx.意思是当key不存在的时候设置key. 如果key存在返回OK,否则返回nil. 实现过程: 1.执行命令set key true ...

grace_233
21分钟前
1
0
解决CKEditor 4 富文本编辑器在图片组件无法显示[上传]选项卡的相关问题

关于解决CKEditor 4 富文本编辑器在图片组件无法显示[上传]选项卡的相关问题。 本文可能会对以下现象得以解决: 图片上传组件,没有 [上传] 选项卡。 资源无法加载 [imgupload] ( Uncaught E...

Eller
24分钟前
0
0
限制php解析、user_agent、php相关配置

11月20日任务 11.28 限定某个目录禁止解析php 11.29 限制user_agent 11.30/11.31 php相关配置 11.28、限定某个目录禁止解析php 核心配置文件内容 <Directory /data/wwwroot/www.123.com/upl...

zgxlinux
29分钟前
1
0
博客园首页新随笔联系订阅管理 随笔

注解Annotation实现原理与自定义注解例子 什么是注解? 对于很多初次接触的开发者来说应该都有这个疑问?Annontation是Java5开始引入的新特征,中文名称叫注解。它提供了一种安全的类似注释的...

onedotdot
47分钟前
4
1
Spring boot + redis 用RedisTemlate实现简单的String key value 操作

springboot集成redis, 简单的key, value缓存操作. 1. application-local.properties # redis on local#spring.redis.port=6379#spring.redis.host=localhost#spring.redis.password=......

园领T
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部