1、原理示意图:
2、crond任务调度
crontab进行定时任务的设置。
3、概述
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类: 1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
2.个别用户工作:个别用户可能希望执行某些程序,比如对mysq|数据库的备份。
4、基本语法
crontab [选项]
4.1、常用选项
-e
|
编辑crontab定时任务
|
-l
|
查询crontab任务
|
-f
|
删除当前用户所有的crontab任务
|
5、快速入门
5.1、任务的要求
设置任务调度文件:/etc/crontab
设置个人调度。执行crontab -e 命令
接着输入任务到调度文件
如:*/1****ls -l /etc/>/tmp/to.txt
意思说每小时的每分钟执行ls -l /etc/ >/tmp/to.txt命令
5.2、步骤如下
-
cron -e
-
*/1****ls -l /etc/>/tmp/to.txt
-
当保存退出后就生效
-
在每一分钟都会自动调用 ls -l /etc/ > /tmp/to.txt
5.3、参数细节说明
6、任务调度的几个应用实例
案例1:每隔一分钟,就将当前的日期信息,追加到/tmp/mydate文件中
1)先编写一个文件 mytask1.sh
date >> /tmp/mydate
2)给mytask1.sh一个可以执行权限
chmod 744 /home/mystask1.sh
3)crontab -e
4)*/1**** /home/mytask1.sh
5)成功
案例2:每隔一分钟,就将当前日期和日历都追加到/home/mycal文件中
1)先编写一个文件 mytask2.sh
date >> /tmp/mycal
cal >> /tmp/mycal
2)给mytask2.sh一个可以执行权限
chmod 744 /home/mystask2.sh
3)crontab -e
4)*/1**** /home/mytask2.sh
5)成功
案例3:每天凌晨2:00将mysql数据库testdb,备份到文件中 mydb.bak。
1)先编写一个文件 mytask3.sh
/usr/local/mysql/bin/mysqldump -uroot -proot testdab >/tmp.mydb.bak
2)给mytask2.sh一个可以执行权限
chmod 744 /home/mystask3.sh
3)crontab -e
4)0 2 *** /home/mytask3.sh
5)成功
7、crontab相关指令:
1)crontab -r:终止任务调度。
2)crontab -l:列出当前有哪些任务调度。
3)service crond restart [重启任务调度]