linux 下cron定时任务为啥没执行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 下cron定时任务为啥没执行相关的知识,希望对你有一定的参考价值。

添加的crontab定时任务,到点没执行,tail -f cron 查看日志,也执行了,按照配置的命令挨个执行的话,也没错,但不知道为什么cron里为什么不定时执行,请帮忙看下,感谢~~~~~
郁闷死了。。。crontab内容及cron日志提交不了~~~~~
To: overawe
tail -f /var/log/cron 注意用root用户给cron加上执行权限

另外:有执行权限,路径也是正确的。就是按照cron的日志挨个执行也是好使的,就crontab定时任务有日志但没有效果,纳闷ing

找到原因了,是重定向的路径不存在 >>/home/aimc/stat2/crontab-log/crontab.log 2>&1。还好~~~~ 总算是找到原因了。

参考技术A 你能告诉我在那儿看cron日志吗? 我以前找过很久没有找到, 后来没办法我在crontab里面写上重定向才能存一些信息
后来还是不爽, 直接在脚本里面存日志才决绝问题

对了你注意以下权限,和脚本的路径本回答被提问者和网友采纳

我的linux定时任务不起作用是为啥?

我在root下输入crontab -e
键入*/1 * * * * /home/mission.sh
那个文件内容是echo "hello world">/dev/pts/1
目的是每分钟在屏幕上打印出hello world 但是死活就是不执行
cron进程始终是开着的

    手动执行下/home/mission.sh,看是否会在屏幕上打印出hello world(也用root用户,且环境变量切成root用户的环境变量)

    crontab -e设置后,下个一分钟是不会生效的,需要等到下下一分钟才会生效

    在.sh脚本里,echo前加一句touch /home/test.txt,看该文件是否会生成(如果该文件生成了,那说明显示有问题,如不在/dev/pts/1里等,touch 文件肯定是对的)

 

有问题再追问,谢谢!

参考技术A

    查看下已经设置好的计划任务

    cat /etc/crontab

    重启下计划任务服务

    /etc/init.d/crond restart


    上面一步如果OK就不用这步

    查看下日志找到错误原因

    cat /var/log/cron


参考技术B 检查方式:
1、文件的执行权限
2、crontab的日志
3、路径是否正确
4、crontab 重新配置完毕之后建议重启进程:service crond restart
参考技术C 先手动运行sh /home/mission.sh测试你的脚本是不是正常运行

crontab -l 查看你是否加入了自动任务

还有你的时间设置是不是不对啊,参照一下这个
0 11 * * * /usr/bin/errclear -d S,O 30
0 12 * * * /usr/bin/errclear -d H 90
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/sbin/dumpctrl -k >/dev/null 2>/dev/null
0 15 * * * /usr/lib/ras/dumpcheck >/dev/null 2>&1
0 0 * * * /usr/es/sbin/cluster/utilities/clcycle 1>/dev/null 2>/dev/null # HACMP for AIX Logfile rotation
* * * * * sh /home/oracle/rm.sh
参考技术D crontab设置对了吗?还有脚本是不是有错误?执行权限给了吗?

以上是关于linux 下cron定时任务为啥没执行的主要内容,如果未能解决你的问题,请参考以下文章

我的linux定时任务不起作用是为啥?

linux下的cron定时任务知识梳理

linux定时执行--计划任务

Linux下的crontab定时执行任务命令详解

linux下定时执行任务的方法

ubuntu使用脚本调用脚本,并用cron做定时任务,为啥执行不了