当前位置:   article > 正文

crontab 命令执行失败的多种原因_/etc/crontab 不生效

/etc/crontab 不生效

定时任务在命令行直接执行可以正确执行,但是加入定时任务之后没有执行结果

1、脚本中涉及文件路径时写全局路径;

2、检查crond服务是否启动

执行service crond status 查看该服务的运行状态。(Ubuntu系统上用/usr/sbin/service cron status)如果进程已经dead,重启一下即可:
service crond start

3、系统级任务调度与用户级任务调度

定时任务有两种编辑方法,一种是root用户下编辑/etc/crontab文件:vi /etc/crontab;
一种是在特定用户身份下(可能是root,可能非root),执行crontab -e 进行编辑。

root用户的任务调度操作可以通过“crontab –uroot –e”来设置,也可以将调度任务直接写入/etc/crontab文件,需要注意的是,如果要定义一个定时重启系统的任务,就必须将任务放到/etc/crontab文件,即使在root用户下创建一个定时重启系统的任务也是无效的。

4、crontab中包含非法字符

在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义%,如经常用的date ‘+%Y%m%d’在crontab里是不会执行的,应该换成date ‘+\%Y\%m\%d’

5、查看corn执行日志,等待查看打出的日志有无正确执行所填写的任务

tail -f /var/log/cron

6、脚本执行要用到java或其他环境变量时,通过source命令引入环境变量,如:

#!/bin/bash
source /etc/profile
  • 1
  • 2

当手动执行脚本OK,但是crontab死活不执行时。可以尝试在crontab中直接引入环境变量解决问题。

0 * * * * . /etc/profile;/bin/sh /tmp/test.sh
  • 1

7、如果还是不行,修改定时任务填写方式,手动切换到脚本路径之后再执行脚本

* * * * * cd /server/ && /bin/sh test.sh >>/dev/null 2>&1
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/75599
推荐阅读
相关标签
  

闽ICP备14008679号