我们经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。
/var/spool/cron/目录下存放的是每个用户以用户名命名的任务文件。
/etc/crontab 这个文件负责调度各种管理和维护任务。
/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。
我们使用crontab -e进入当前用户的任务工作表编辑,是常见的vim界面,每一行是一个任务。编辑的任务工作表文件保存在/var/spool/cron目录下,并以登录用户名命名。
crontab [参数]
-e 编辑任务工作表
-l 查看定时任务列表
-r 删除定时任务
crontab -e
在打开的文件中加入如下:
*/30 * * * * /home/gcuser/wangxch/sysopt/cronstart.sh >> /home/gcuser/wangxch/sysopt/log.log 2>&1
如果不需要记录日志,则不需要添加
>> /home/gcuser/wangxch/sysopt/log.log 2>&1
crontab -l
定时任务格式为 时间 + 动作 。时间格式在/etc/crontab文件内介绍了一般形式,一共五个位置并且空格隔开,分别是分、时、日、月、周,除了数字可以填操作符;
*
所有范围数字
/
每过多少次
-
从开始数字到结尾数字
,
并且
# 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
每1分钟执行一次myCommand
* * * * * myCommand
每个小时的第3分钟和第15分钟执行一次myCommand
3,15 * * * * myCommand
每天上午8点到11点的每个小时的第3分钟和第15分钟执行一次myCommand
3,15 8-11 * * * myCommand
每隔两天的上午8点到11点的每个小时的第3分钟和第15分钟执行一次myCommand
3,15 8-11 */2 * * myCommand
每周一的上午8点到11点的每个小时的第3分钟和第15分钟执行一次myCommand
3,15 8-11 * * 1 myCommand