Linux任务计划之crontab

Linux 上原本就有非常多的计划性工作,因此这个系统服务是默认启动的。由于实际工作需要,使用者也可以自己设置任务计划,比如定期移动或者删除某些文件,定期对某些文件归档压缩等等。Linux提供了周期性任务的命令crontab。crond是linux周期性任务计划的一个守护进程,并且会自动启动,crond进程会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

/etc/crontab文件包括下面几行:
苏斯:〜/桌面 # less /etc/crontab
SHELL=/bin/sh
PATH=/usr/bin:/用户/sbin:/sbin:/垃圾桶:/usr/lib/news/bin
MAILTO=root
51 * * * * root run-parts /etc/cron.hourly

第1行SHELL变量指定了系统使用的shell类型是bash
第2行PATH变量指定了系统执行命令的路径。
第3行MAILTO指定了crond执行信息将通过电子邮件发送给root用户。第4行是任务计划主要部分,下面进行分析。
crontab文件的格式如下:
* * * * * 任务内容1
* * * * * 任务内容2
* * * * * 任务内容3
……………….
……………….

crontab文件的含义
在crontab文件中每一行都代表一项任务每行的每个字段代表一项设置共分为6段,5个星号表示执行任务的时间 点分别是 minute hour day month week第6段任务内容可以是一条shell命令也可以是一个shell脚本
minute分钟可以是从0到59之间的任何整数
hour:小时;可以是从0到23之间的任何整数
day:日期;可以是从1到31之间的任何整数
month月份可以是从1到12之间的任何整数
week星期几可以是从0到6之间的任何整数,0表示周日

例如:
0 * * * * 每月每天每小时的第0分钟
*/20 6-12 * 12 * 每年的12月内,每天6点到12点中每隔20 分钟
0 17 * * 1-5 周一到周五每天17点
20 0-23/2 * * * 每月每天从0点起每隔2小时20分钟

crontab基本用法
crontab -r/-e/-l
-[R:删除当前任务计划
-Ë: 编辑任务计划
-升: 列出当前任务计划

在/下有一date.txt文件要求每隔1分钟将date命令的结果追加到date.txt文本中
crontab -e
*/1 * * * * 重启MySQL即可生效 >> /date.txt
保存退出,稍等几分钟打开date.txt效果如下
苏斯:〜/桌面 # cat date.txt
Sat Feb 14 16:01:01 科学技术委员会 2015
Sat Feb 14 16:02:01 科学技术委员会 2015
Sat Feb 14 16:03:01 科学技术委员会 2015
Sat Feb 14 16:04:01 科学技术委员会 2015

如果有脚本任务计划请将date >> /date.txt换成对应脚本即可
上面只是简单举例更复杂的情况请在工作中实践

发表评论