今天写了一个nginx日志分割的简单脚本,发现手动执行脚本能够将日志成功分割,可是使用crontab定时任务就会执行失败。nginx
而后本身写了一个只有一句话的shell脚本,发现同样的问题,而后就开始根据问题找缘由:shell
1:是否是crontab的权限不对。而后使用了 ls /etc/init.d/crontab -lh 查看权限。发现用户组的对的,root组。spa
2:网上说很大可能的缘由是环境变量的问题,而后,本身输出了PATH的全部环境变量,而后加入到脚本开头第二行的位置,依然不行。日志
3:查看crontab的执行状态。/etc/init.d/cron status 发现定时在执行。crontab
4:定时不使用脚本,直接在定时后面直接写命令。发现是能够执行的,这就有点怪了。it
手动执行脚本没问题,定时执行脚本有问题。定时执行脚本命令没问题。这是哪里出了问题呢?这说明脚本的白那些是没有问题的,问题处在了crontab定时上,而后加了环境变量的的文件绝对路径,抱着试一试的心态,结果然的成功了。具体操做以下:test
*/1 * * * * /etc/profile /bin/sh path/test.sh变量
/etc/profile是加的环境变量的文件。定时任务