前段时间于到一个关于crontab定时任务的问题:问题是这样的
我通过sqoop命令将mysql数据库数据同步到hive表,
linux命令行执行没毛病,
写成shell脚本,做crontab定时任务,发现执行不成功。
tail -f /var/log/cron 执行正常。
tail -f /var/mail/spool/work 没有日志输出。(我是work用户执行)
其实是sqoop任务出问题啦,但是我无法查看错误日志,命令行执行又没有这样问题。
后来发现
cannot update mailbox /var/mail/root for user root. error writing messa
cannot update mailbox /var/mail/root for user root. error writing message: File too large
提示
该问题主要原因是因为在postfix配置文件main.cf.default
mailbox_size_limit = 51200000(50M)
也就是说当用户的对应的/var/mail/USERNAME 文件的大小不能超过50M 如果超出该值时可能会出现只能
发送不能接受的情况,
解决办法:
第一种方法, 是清空用户对应的文件,当然也可以创建一个脚本,让其自动清
空对应的文件
echo “”>/var/mail/USERNAME
第二种方法,是重新设置 postfix main.cf.default 配置文件中对应
mailbox_size_limit=51200000
修改为
mailbox_size_limit=0
把值改为零的情况下,就是不限制
在修改完postfix maincf.deafault 配置文件时,需要重新加载postfix
#service postfix reload