定时任务启动的shell 脚本,脚本内部使用绝对路径
#!/bin/bash
# Minutes, hour, day, month, week,Use the absolute path
1 4 * * * /home/zhang/script/testCase/uu/start.sh
25 4 * * * /home/zhang/script/testCase/mobile/start.sh
50 4 * * * /home/zhang/script/testCase/union/start.sh
结果是shell脚本输出为空,但是当我单独启动shell脚本时,输出又是正确。检查定时任务,也可以确定是正确。
于是再次运行定时任务,结束后, crontab 日志 /var/spool/mail/zhang 竟然有提示,发现新大陆,立刻去看了下日志,发现里面有这么一句错误
提示:cat: ../local_time: No such file or directory
local_time 是一个文件,在shell脚本的上一级目录,我没有使用绝对路径,而是相对路径。在使用定时任务时,不但定时任务必须使用绝对路径,就是定时任务启动的脚本里,也需要绝对路径。
而且这种事情,发生的不是一两次。隔天我就发现定时任务没有输出内容,一检查,又是内存满了。是另一位同事,一次测试,200g内存直接满了,而这台服务器也就1T内存。