配置完/var/spool/cron/其他非roo用户的定时任务没有运行

因为是在gbase用户下运行的脚本,所以先su - gbase,再crontab -e查看编辑当前用户的定时任务,也可以在/var/spool/cron/gbase文件中查看编辑gbase用户的定时任务。

一开始使用8 * * * * /bin/bash /tmp/gcheck_running_sql.sh,查不到脚本执行结果;

后续改为1 * * * * cd /tmp && ./gcheck_running_sql.sh >> /tmp/test.log 2>&1想看下是否是执行有报错,
/tmp/test.log中也没有报错内容;

排查了:

  1. 路径是对的
  2. 可单独执行该脚本(gbase用户下)
  3. 无需配置其他环境变量

再后来找到,可在/var/log/cron找到cron定时任务的执行日志,tail -f /var/log/cron追踪看了下,
只执行了root用户下的定时任务;

配置完/var/spool/cron/其他非roo用户的定时任务没有运行

ll /var/spool/cron/看了下root和gbase两个文件的权限,gbase文件只能gbase用户读写,果然权限不够;

chmod -R 777 /var/log/cron/gbase修改文件权限后,再日志中出现了执行结果:BAD FILE MODE;

配置完/var/spool/cron/其他非roo用户的定时任务没有运行

即文件格式有错误,修改为*/1 * * * * cd /tmp && ./gcheck_running_sql.sh >> /tmp/test.log 2>&1后成功运行。

配置完/var/spool/cron/其他非roo用户的定时任务没有运行