crond进程:
crond是linux下用来周期性地执行某种任务的一个守护进程,安装操作系统默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查/etc/crontab文件是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
crontab定时任务:
1. 创建 .sh 文件,“我想实现什么样子的定时任务”。
-bash: cd /usr/local/apache/htdocs/crondata
-bash: vim bilianfm.sh
#!/bin/sh #description wget http://fm.iegret.com
说明:第三行指定需要执行的任务的命令,假设我想要定时访问http://fm.iegret.com这个网站,所以wget http://fm.iegret.com,然后保存退出(:wq)
2. 对刚刚创建的 bilianfm.sh 文件赋予权限755,让它具有可执行权限
-bash: chmod 755 bilianfm.sh
3. 在/etc/crontab内写定时计划,“我需要在什么时间点执行任务”
-bash: vim /etc/crontab
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/data/mycrond/bilianfm/ # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
*/10 * * * * root /usr/local/apache/htdocs/crondata/bilianfm.sh
说明:
SHELL变量:要使用哪个shell,这里使用的是bash(一般不用更改)
PATH变量:系统执行命令的路径(一般不用更改)
MAILTO变量:crond任务的执行信息将通过电子邮件发给root用户,如果为空,则不发送给任何用户(一般不用更改)
HOME变量:执行crond命令使用的目录(需要自己指定)
最后一行是crond命令,有7个字段,依次是: 分钟 小时 日期 月份 星期 用户 .sh执行文件路径
最后一行的前6个字段,可以用的字符有:
星号(*):代表所有可能的值。 逗号(,):指定一个列表范围,例如“1,7,9” 中杠(-):表示一个整数范围,例如“2-5”表示“2,3,4,5” 正斜线(/):指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。例如*/10,如果用在minute字段,表示每十分钟执行一次。