linux下crontab 任务不执行的可能原因总结
16lz
2021-01-22
昨天遇到了crontab不能执行的问题,现总结如下:
现象:
a.shell脚本已经有执行权限(chmod 777 xxx.sh)
b.在#!/bin/sh的下行已经加上了source ~/.bash_profile
c.已经确认 crond 服务正常运行(service crond status)
d.crontab 文件正确无误
e.脚本可以手动执行但不能自动执行
原因(个人):
crontab没有给root赋权限,执行如下命令:
crontab -u root /var/spool/cron/root
另外,查看crontab操作日志
现象:
a.shell脚本已经有执行权限(chmod 777 xxx.sh)
b.在#!/bin/sh的下行已经加上了source ~/.bash_profile
c.已经确认 crond 服务正常运行(service crond status)
d.crontab 文件正确无误
e.脚本可以手动执行但不能自动执行
原因(个人):
crontab没有给root赋权限,执行如下命令:
crontab -u root /var/spool/cron/root
另外,查看crontab操作日志
cat /var/log/cron
也可以把输出定向到文件中,以便查看原因。
例如:我的tomcat down掉后自动检测并启动的脚本,发现未启动原因是JAVA_HOME未指定,但是 echo $JAVA_HOME 确实存在,并且脚本手动执行能够成功!
我想可能是系统执行时找不到JAVA_HOME,最后在 catalina.sh 中加入 JAVA_HOME,脚本自动执行成功!
更多相关文章
- Linux(Debian)设置开机自启动脚本
- 《Linux命令行与shell脚本》笔记--第5章:使用Linux环境变量
- linux notepadqq不支持中文输入的原因分析
- linux shell脚本编程笔记(四): 获取字符串长度的七种方法
- 查看Linux服务器网卡流量小脚本shell和Python各一例
- Scientific Linux:我需要获取一个shell脚本变量并使用它来搜索awk
- 【Linux_Shell 脚本编程学习笔记五、Oracle JDK1.8 安装shell 脚
- 我已提取并尝试使用启动脚本(./start navicat)来启动 Navicat Linu
- 在Linux中的脚本中安装应用程序