直接运行脚本没问题,用Crontab 调用出错,怎么办?
1.先查看crontab的运行日志,如果crontab运行出错,会发出邮件。
如
SHELL=/bin/bash
PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
MAILTO=root
HOME=/home/username/
1 */2 * * * /home/uaername/shScript/test.sh>>/home/username/shScript/testshell.log 2>&1
crontab日志路径一般是:/var/mail/username
2.脚本运行没有问题,crontab调用出错一般是两种解决思路:
1)路径问题,crontab需要写绝对路径,shell脚本也是用绝对路径。
2.)环境变量 问题,曾经遇到Java分词程序执行的没问题,crontab调用有问题,路径检查也没问题在被调用的shell脚本中加入环境变量
source ~/.bash_profile
运行正常。
crontab 文件目录
cd /var/spool/cron/
每个用户一个文件,当遇到crontab -e 设置crontab 无法保存时,可以到此目录直接修改原始文件。
报错信息:Write error in swap file