1. 概述
任务调度:是指系统在某个时间执行特定的命令或程序
任务调度分类:1.系统工作:有些重要工作需要周而复始的进行,比如病毒扫描;2.个别用户工作:个别用户可能希望执行某些程序,比如mysql备份。
2. 语法
crontab 【选项】
选项 | 含义 |
---|---|
-e | 编辑crontab定时任务 |
-l | 查询crontab任务 |
-r | 删除当前用户所有的crontab |
3.快速入门
如果遇到crontab 报错:command not found
解决:执行 yum -y install vixie-cron crontabs 安装即可
- crontab -e
- 输入下面命令后保存并退出
*/1 * * * * ls –l /etc/ > /tmp/to.txt (意思说每小时的每分钟执行 ls –l /etc/ > /tmp/to.txt 命令)
4.调度文件参数说明
- 占位符说明
项目 | 含义 | 范围 |
---|---|---|
第一个* | 一个小时当中的第几分钟 | 0-59 |
第二个* | 一天当中的第几个小时 | 0-23 |
第三个* | 一个月中的第几天 | 1-31 |
第四个* | 一年当中第几月 | 1-12 |
第五个* | 一周当中星期几 | 0-7(0/7都是周日) |
- 特殊符号说明
特殊符号 | 含义 |
---|---|
* | 代表任何时间 |
, | 代表不连续时间 |
- | 代表连续的时间范围 |
*/n | 代表每隔多久执行一次 |
- 特定时间执行任务案例
时间 | 含义 |
---|---|
45 22 * * * 命令 | 每天 22:45 执行命令 |
0 17 * * 1 命令 | 每周1的 17:00 执行命令 |
0 5 1,5 * * 命令 | 每月1号和5号 05:00 执行命令 |
40 4 * * 1-5 命令 | 每周1至周5 04:00 执行命令 |
*/10 4 * * * 命令 | 每天 4 点 ,每隔 10 分钟执行一次命令 |
0 0 1,15 * 1 命令 | 每月1号和15号,每周1的 00:00执行命令 |
注意:星期几和几号最好不要同时出现,因为定义的都是天,容易使管理员混乱
5.定时执行可执行文件
- 案例一:11.5.1每隔 1 分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
1)编写一个文件 /home/mytask1.sh,并在其中写入date>>/tmp/mydate
2)给mytask1.sh一个可以执行权限(x):
chmod 744 /home/mytask1.sh
3)编辑crontab定时任务:crontab -e
4)写入*/1 * * * * /home/mytask1.sh - 案例二:每隔 1 分钟, 将当前日期和日历都追加到 /home/mycal 文件中
1)先编写一个文件 /home/mytask2.sh,写入
date >> /tmp/mycal
cal >> /tmp/mycal
2)给 mytask1.sh 一个可以执行权限:chmod 744 /home/mytask2.sh
3)crontab -e
4)*/1 * * * * /home/mytask2.sh - 案例三:11.5.3每天凌晨 2:00 将 mysql 数据库 testdb ,备份到文件中mydb.bak
1)先编写一个文件 /home/mytask3.sh,写入
/usr/local/mysql/bin/mysqldump -u root -proot testdb > /tmp/mydb.bak
2)给 mytask3.sh 一个可以执行权限 :chmod 744 /home/mytask3.sh
3)crontab -e
4)0 2 * * * /home/mytask3.sh
6.crond相关指令
- crontab -r:终止任务调度
- crontab -l:列出当前有哪些任务调度
- service crond restart :重启任务调度
学习整理于 Linux
WWYDFL 发布了52 篇原创文章 · 获赞 0 · 访问量 307 私信 关注