linux任务调度概念
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
1.系统工作:有些重要的工作必须周而复始的执行,如病毒扫描等。
2.个别用户工作:个别用户可能希望执行某些程序,比如mysql数据库的备份。
基本语法
crontab [选项]
常用选项
1 | -e 编辑crontab定时任务 |
快速入门
任务的要求
设置任务调度文件: /etc/crontab
设置个人任务调度,执行 crontab -e 命令
接着输入任务到调度文件
如: /1 * date >> /tmp/time.txt
意思说,每分钟把date时间 追加到 /tmp/time.txt 文件中。
步骤
1. crontab -e
2. 输入:*/1 * * * * date >> /tmp/time.txt
3.当保存退出后就执行程序
4.在每分钟都会自动的调用 date >> /tmp/time.txt
1 | [root@localhost ~]# cat /etc/crontab |
参数细节说明(5个占位符的说明)
1 | 项目 含义 范围 |
特殊符号说明
1 | 符号 含义 |
特定时间执行案例
1 | 时间 含义 |
任务调度的实例
每隔一分钟,就将当前的时间追加到 /tmp/mydate.txt文件中
1. 先编写一个文件 /home/mytask1.sh
date >> /tmp/mydate.txt
2. 给mytask1.sh 一个可以执行的权限
chmod 744 /home/mytask1.sh
3. crontab -e
4. */1 * * * * /home/mytask1.sh
5. 成功
命令:
1 | [root@localhost ~]# vim /home/mytask1.sh |
每天凌晨2:00 将mysql数据库 testdb , 备份到文件mydb.bak
1. 先编写一个文件 /home/mytask2.sh
/usr/local/mysql/bin/mysqldump -u root -proot testdb > /tmp/mydb.bak
2. 给mytask2.sh 一个可以执行的权限
chmod 744 /home/mytask2.sh
3. crontab -e
4. 0 2 * * * /home/mytask2.sh
5. 成功
crond 相关指令
- crontab -r :终止任务调度
- crontab -l :列出当前有哪些任务调度
- systemctl restart crond [重启任务调度]
1 | [root@localhost home]# systemctl restart crond |