1.问题描述:
这一段时间一直在弄日志文件定时任务,想把访问网站的ip地址通过公共接口查询出来并发送到邮箱。在shell终端执行的时候无异常(./send_mail.sh)
放入定时任务后,收到的邮件是一封空邮件,查询了一些资料也没有找到解决办法
2.原因分析:
最近在学习中偶然得知,用 ./ 执行脚本意为在当前工作目录下执行脚本,即在当前shell开设了一个shell子环境。而在定时任务文件中利用 bash+脚本地址 执行,用的是父目录的shell环境。
3.解决:
将定时任务中的 bash+脚本地址 改为 “cd 脚本所处目录;./脚本名称” , 如我自身的例子: cd ~/sec;./send_mail.sh
感觉有用就点个赞吧!