不论是ubuntu还是centos的计划任务,都是crond这个服务负责的。
这里不讲crontab 命令,只讲一下通过配置crontab文件来实现定时运行任务的功能。
通过vim /etc/crontab 可以看到crontab配置文件的格式。
前5列是时间,分别是 分,时,日,月,年 。第六列是用户,第七列是命令。
数值代表这个时间进行命令,*代表 每这个单位进行命令,上图中的第五行的意思就是 每天 22点27分,root用户运行命令。
需要值得注意的地方有两个,看到上面的shell=/bin/sh,以及PATH=。。。
这两个是系统的环境变量,请特别注意,因为每个用户的环境变量是不同的,需要在这个地方配置定时任务的环境变量。当然还有一个小技巧,就是在写的脚本里进行export环境变量的操作。
笔者由于从ubuntu换到centos,发现以前的计划任务一直执行失败,今天排查才得出原因。
由于我偷懒,直接将上个系统的crontab文件复制粘贴过来,导致一直报错 BAD FILE MODE (/etc/crontab)
后面讲用户改为root:root,然后将其权限改为644终于执行成功。
这件事告诉我们还是不要太过于偷懒,不然这种小地方可能会坑死人。。。
每天学点linux