Linux定时任务
如何实现定时任务?

linux内置的cron进程能帮我们实现定时任务的需求。
cron介绍
我们经常使用的是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使用
我们使用crontab -e进入当前用户的任务工作表编辑,是常见的vim界面,每一行是一个任务。编辑的任务工作表文件保存在/var/spool/cron目录下,并以登录用户名命名。
crontab常用命令
crontab [参数]
- -e 编辑任务工作表
- -l 查看定时任务列表
- -r 删除定时任务
定时任务格式
定时任务格式为 时间 + 动作 。时间格式在/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

浙公网安备 33010602011771号