# 5. 任务调度
# 5.1 理论部分
# 5.2 实操部分
该部分主要将如何定制定时任务。
# 5.2.1 原理示意图
- 任务调度:是指系统在某个时间执行的特定的命令或程序。
- 任务调度分类
- 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等;
- 个别用户工作:个别用户可能希望执行某些程序,比如对 mysql 数据库的备份。
# 5.2.2 基本语法
操作任务调度
crontab [选项]
- -e:编辑 crontab 定时任务
- -l:查询 crontab 定时任务
- -r:删除当前用户所有的 crontab 定时任务
重启任务调度
service crond restart
# 5.2.3 快速入门
需求:
每分钟执行一次 ls –l /etc/ > /tmp/to.txt 命令
操作:
1)进入任务调度文件 /etc/crontab 所在目录 /etc:
cd /etc
2)设置个人任务调度:
crontab -e
3)输入任务到调度文件,保存退出
这样每一分钟系统都会自动的调用 ls -l /etc >> /tmp/to.txt
4)等几分钟后查看 /tmp/to.txt 文件
# 5.2.4 五个占位符说明
# 5.2.5 特殊符号说明
# 5.2.6 特定时间执行任务案例
# 5.2.7 几个例子
# [案例一] 每隔 1 分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
1)先写一个 shell 脚本文件 /home/mytaks1.sh
date >> /tmp/mydate
2)给 mytask1.sh 一个可执行权限
chmod 744 /home/mytask1.sh
3)编辑任务调度 crontab -e
4)输入 */1 * * * * /home/mytask1.sh
5)完成
# [案例二] 每天凌晨 2:00 将 mysql 数据库 testdb ,备份到文件中 mydb.bak
1)写一个 shell 脚本文件 /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)完成