linux定时任务crontab的使用

时间:2022-01-26 21:52:02

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字段,表示每十分钟执行一次。