原理示意图:
概述:
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
- 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描灯。
- 个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。
crontab [选项]
常用选项:
- -e :编辑crontab定时任务。
- -l :查询crontab任务。
- -r :删除当前用户所有的crontab任务。
简单的任务可以不写脚本
1)每分钟执行ls -l /home >>/tmp/log.txt
- crontab -e
- */1 * * * * ls -l /home >> /tmp/log.txt
- 当保存退出后就执行程序
- 在每一分钟都会自动的调用 ls -l /home >> /tmp/log.txt
参数详细说明:
5位占位符的说明
特殊符号的说明
特定时间执行任务案例
复杂的任务需要写shell脚本
1)每隔1分钟,就将当前的日期新鲜,追加到/tmp/mydate文件中。
- 先编写一个文件 /home/mytask1.sh,内容: date>> /tmp/mydate
- 给mytask1.sh一个可以执行的权限,指令:chmod 744 /home/mytask1.sh
- crontab -e
- */1 * * * * /home/mytask1.sh
- 保存退出,系统自动执行
2)每天凌晨2点将mysql数据库testdb,备份到文件mydb.bak中。
- 先编写一个文件 /home/mytask2.sh /usr/local/mysql/bin/mysqldump -u root -p root testdb > /tmp/mydb.bak
- 给mytask2.sh一个可以执行权限,指令:chmod 744 /home/mytask2.sh
- crontab -e
- 0 2 * * * /hom/mytask2.sh
- 保存退出,系统自动执行
3)每隔1分钟,将当前日期和日历都追加到/home/mycal文件中
- 先编写一个文件 /home/mytask3.sh。 date >> /tmp/mycal cal >> /tmp/mycal
- 给mytask3.sh一个可以执行的权限
- crontab -e
- */1 * * * * /home/mytask3.sh
- 保存退出,系统自动执行
重启任务调度:service crond restart