linux下定时服务cron的使用
1.linux启动关闭cron用如下命令[root@localhost ~]# /etc/init.d/cron start
[root@localhost ~]# /etc/init.d/cron stop
[root@localhost ~]# /etc/init.d/cron restart
2. 增加删除执行任务有2方式
?
直接用crontab
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
进入vi编辑模式,编辑的内容一定要符合下面的格式:* * * * * *
每一个*分别代表
?
?
123456分钟小时日期月份周指令0-590-231-311-120-7需要执行的命令?
其中有几个特殊符号
?
*????????? 表示任何时候,表示这个个都可以,如:月上填1,4,7表示在1月,4月,7月执行,其他不执行-表示从-左边开始,到右边结束,如:分上12-16 表示从12分到16分之间都执行/nn代表数字,配合*使用表示每隔多久,如:时那里写上 * /3 就是每隔3小时执行?
了解基础命令后,我们来举一个例子
?
eg.
?
第5分钟执行一次
*/5 * * * * >/home/dmtsai/test.sh
?
每小时的第10分钟执行一次
10 * * * * date > /tmp/date.log
?
每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。
?
直接编辑他的执行文件
?
其实cron真正执行的是 /etc/crontab的配置文件
上面的编辑,只是把内容拷贝到了/etc/crontab文件
?
vi /etc/crontab 就能看到如下信息
?
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
*/5 * * * * >/home/dmtsai/test.sh
10 * * * * date > /tmp/date.log
?
直接编辑这个文件,也能增加命令,方式同上面一样。
?
编辑完成后重新启动cron服务
?
?