crontab 定时任务不执行问题排查
*/5 * * * * sh /data03/jq/sparkjob.sh 定时任务不执行!
Cron默认丢弃输出,错误信息无法查看。
将输出和错误重定向到日志文件:
-
-
-
-
- /bin/sh /data03/jq/sparkjob.sh >> /tmp/sparkjob.log 2>&1
检查日志文件 /tmp/sparkjob.log 定位具体错误。
cat sparkjob.log
/data03/jq/sparkjob.sh: line 4: jq: command not found
/data03/jq/sparkjob.sh: line 4: jq: command not found
/data03/jq/sparkjob.sh: line 4: jq: command not found
- /bin/sh /data03/jq/sparkjob.sh >> /tmp/sparkjob.log 2>&1
-
-
-
环境变量缺失:
Cron 环境变量与用户Shell不同,可能导致脚本中命令找不到。
修复方式:
在脚本开头强制声明环境变量(如JAVA_HOME、PATH等):
#!/bin/bash
source /etc/profile # 加载系统环境变量
export PATH=/usr/local/spark/bin:$PATH # 手动添加路径