阿里云CentOS收不到邮件
在crontab里配置执行脚本,脚本用来执行java程序,死活不执行。单独执行脚本可以运行。
查看crontab的日志文件,/var/log/cron,发现没有收到cron执行的mail,说:
" fatal: parameter inet_interfaces: no local interface found for ::1"
猜测是网卡的问题,百度之后发现是ipv6的鬼。修改方法:
修改/etc/postfix/main.cf,注释掉 inet_interfaces = all,重启服务 systemctl restart postfix
重新配置执行crontab,虽然java程序还是不能达到预期效果,但是至少是被执行了的,在/var/spool/mail/root中看到了错误信息。或者也可以通过在脚本中指定错误输出:
java -jar your_jar.jar >> /tmp/your_log 2>&1
java程序的配置
有人说是环境变量的问题,先是各种export,比如JAVA_HOME, CLASSPATH, PATH;后来索性有人说,一句source ~/.bash_rc就可以了;最后查看mail文件发现,java程序中写入文件失败,提示找不到路径。
TMD,crontab太傻X了,为何要让我的java程序中也写绝对路径?