Linux系统任务调度的工作可以分为两类:
系统自身执行的工作
用户执行的工作
通过crontab可以在固定的间隔时间内执行制定的系统指令或者shell script脚本。这个命令非常适合周期性的日志分析或数据备份工作。
/var/spool/cron,所有用户crontab文件存放的目录,以用户名命名。
crontab –l 显示用户crontab文件内容
crontab –u root –l
crontab –e用vi编辑用户crontab文件
-u指定使用者
-i从crontab目录中删除用户crontab文件
场景:查看某个用户下有哪些定时任务 crontab –u xxxx –l
Crontab时间段的含义:第一段分钟,第二段小时,第三段日期,第四段月份,第五段星期几0-6
分时日月周
*表示任意时间
-表示分隔符,表示一个时间范围段如17-19点 00 17-19 * * * command
,表示分割时段的意思。30 17,18,19 * * * /bin/sh script.sh
/n每隔n单位时间执行一次任务。如每30分钟执行一次任务 */30 * * * * command
Crontab依赖的服务
Chkconfig –list | grep crond
或者
/etc/init.d/crond status
/etc/init.d/crond stop
/etc/init.d/crond start
或者
/etc/init.d/crond restart
示例如下:
0 11 * 4 1-3 /bin/sh /application/sh.sh
备注:
* 7-11/1 * * * command很可怕,并不能达到期望的效果,应该把最前面的星号换成数字