Linux 定时任务调度
crond 任务调度
-
crontab 进行定时任务的设置。
-
概述
- 任务调度:是指系统在某个时间执行的特定的命令或程序。
- 任务调度分类:
- 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。
- 个别用户工作:个别用户可能希望执行某些程序,比如对 MySQL 数据库的备份。
-
基本语法
crontab [选项]
-
常用选项
选项 说明 -e 编辑 crontab 定时任务 -l 查询 crontab 任务 -f 删除当前用户所有的 crontab 任务
快速入门
- 要求
- 设置任务调度文件:/etc/crontab
- 设置个人任务调度。执行 crontab -e 命令。
- 接着输入任务到调度文件。
- 如:
*/1 * * * * ls -l /etc >> /tmp/to.txt
。
- 步骤
- crontab -e
- */1 * * * * ls -l /etc >> /tmp/to.txt
- 当保存退出后就生效了。
- 在每一分钟都会自动地调用 */1 * * * * ls -l /etc >> /tmp/to.txt
参数细节说明
-
五个占位符的说明
项目 含义 范围 第一个“*” 一小时当中的第几分钟 0-59 第二个“*” 一天当中的第几小时 0-23 第三个“*” 一个月当中的第几天 1-31 第四个“*” 一年当中的第几月 1-12 第五个“*” 一周当中的星期几 0-7(0 和 7 都代表星期日) -
特殊符号的说明
特殊符号 含义 * 代表任何时间。比如第一个 “ * ” 就代表一小时中每分钟都会执行一次的意思。 , 代表不连续的时间。比如 “0 8,12,16 * * * 命令 “ ,就代表在每天的 8 点 0 分,12 点 0 分,16 点 0 分都执行一次命令。 - 代表连续的时间范围。比如 ”0 5 * * 1-6 命令“ ,代表在周一到周六的凌晨 5 点 0 分执行命令。 */n 代表 -
特定时间执行任务案例
时间 含义 45 22 * * * 命令 在 22 点 45 分执行命令 0 17 * * 1 命令 每周一的 17 点 0 分执行命令 0 5 1,15 * * 命令 每月一号和 15 号的凌晨 5 点 0 分执行命令 40 4 * * 1-5 命令 每周一到周五的凌晨 4 点 40 分执行命令 */10 4 * * * 命令 每天的凌晨 4 点,每隔 10 分钟执行一次命令 0 0 1,15 * 1 命令 每月 1 号和 15 号,每周一的 0 点 0 分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们的定义都是天。非常容易让管理员混乱。