CentOS,crontab的学习、使用、问题解决记录
参考:http://blog.csdn.net/luanwpp/article/details/7490871
参考:
参考:http://www.cnblogs.com/intval/p/5763929.html
Cron(Crond服务)是UNIX,SOLARIS,LINUX系统下使用的,可以通过Cron脚本能使计划任务定期在系统后台自动运行的服务。在UNIX,SOLARIS,LINUX下计划任务,术语为cron jobs。
注:如果要在windows系统中执行类似操作,可以设置windows的任务计划,具体参考 https://jingyan.baidu.com/article/466506582d7c48f549e5f8b5.html
1、Crontab约束
CentOS release 6.9(Final)版本中,cron信息保存在/etc目录。
/etc/cron.allow文件,/etc/cron.deny文件。
如果这两个文件都不存在,则只有root用户可以使用crontab。
如果用户名记录在allow文件中,则该用户crontab有效。
如果allow文件不存在,且用户名没被记录在deny文件中,则该用户crontab有效。
如果只存在deny文件且为空时,所有可登陆用户都可以使用crontab。
2、Crontab格式与用法
用户通过crontab –e创建或修改的crontab文件保存在/var/spool/cron目录中,文件名与用户名一致。
3、Crontab环境设置(对于CentOS来说,定义在/etc/crontab中)
第一行SHELL变量指定了系统要使用哪个shell。
第二行PATH变量指定了系统执行命令的路径。
第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户。如果没空,则表示不发送。
第四行Home变量指定了执行命令或脚本时使用的主目录
4、设置crontab没有标准输出和错误输出
输入crontab -e 编辑crontab文件,在命令的最后加上 >/dev/null 2>&1 ,如
解释:/dev/null表示空设备文件,2>&1表示标准错误输出到标准输出的文件,即空设备文件
5、crontab 与环境变量(问题:手动可执行脚本,但crontab却无法执行)
参考:
http://xiachaofeng.iteye.com/blog/1405184
http://www.tennfy.com/3088.html