同事请求协助解决crontab不能运行的问题,问题蹊跷,现将解决步骤记录如下:
1、查看crond服务是否启动。
发现从容服务未能启动,遂启动该服务。但是问题扔没解决,定时任务仍然没有执行。
2、在同一用户下,加入测试脚本,用于测试
[vm@localhost ~]$ crontab -l
* * * * * /home/vm/test.sh
发现测试脚本未运行,怀疑是权限的问题。
3、在root下进行测试,crontab功能正常。于是又建立一个普通用户,用于测试,crontab功能也正常。
说明问题出在当前的用户上,跟其他没有关系。
4、通过查找发现跟当前用户相关的crontab配置在/var/spool/cron目录下,查看相应文件,未发现异常。但是还是还是怀疑这个文件有问题。
于是,用vi -b命令打开配置文件看了一下,果然!
每个行尾都有一个神奇的^M。
原来是同事将windows下的内容copy到这台机器上导致,删除之,问题解决。
总结,crontab出错的问题查找,从三个方面:
1、查看服务是否安装正确;
2、查看配置文件/etc/crontab是否正确;
3、查看用户相关的/var/spool/cron下的配置文件是否正确。