Linux---crond任务调度
引言:
任务调度是指在某个时间执行待定命令或程序。
任务调度分类:
1、系统工作:有些重要的工作必须周而复始地执行。如病毒扫描
2、个别用户工作:个别用户可能希望希望定时执行某些程序。比如对mysql数据的备份
1)基本语法
crontab 【选项】
常用选项:-e 编辑crontab定时任务
-l 查询crontab定时任务
-r 删除当前用户所有的crontab任务
2)快速入门
每隔一分钟向dog.txt文件中输入一句wangwang
①、输入指令 crontab -e,此时会打开crontab用于保存指令的文件
②、输入指令:*/1 * * * * echo "wangwang">>/root/cnblogs/animal/dog/dog.txt
③、过一会打开dog.txt文件
你可能??????wtf???
3)参数详细说明
上面*/1 * * * * echo "wangwang">>/root/cnblogs/animal/dog/dog.txt中的 * 号是占位符,下面介绍一下占位符
知道这些还不够,因为现实业务往往更加复杂
举一些例子
4)任务调度的几个应用实例
案例1:每隔一分钟,就将当前的日期信息,追加到/tmp/mydate文件中
①、先编写一个文件shell脚本(这个后面的文章会讲)mytask1.sh,文件内容:date>>/tmp/mydate
②、给当前用户对mytask1.sh的可执行权限 chmod 744 /home/mytask1.sh 这里使用了绝对路径
③、crontab -e
④、*/1 * * * * /home/mytask1.sh,即每分钟都会执行shell文件中的代码
案例2:每隔一分钟,将当前日期和日历都追加到/home/mucal文件中
①、先编写一个文件mytask2.sh,文件内容:date>>/tmp/mycal cal>>/tmp/mycal
②、给当前用户对mytask2.sh的可执行权限 chmod 744 /home/mytask2.sh
③、crontab -e
④、*/1 * * * * /home/mytask2.sh
案例3:每天凌晨2:00将mysql数据库testdb,备份到文件中mydb.bak。
①、先编写一个文件mytask3.sh,文件内容:/usr/local/mysql/bin/mysqldump -u root -proot testdb>/tmp/mydb.bak
②、给当前用户对mytask3.sh的可执行权限 chmod 744 /home/mytask2.sh
③、crontab -e
④、0 2 * * * /home/mytask3.sh
5)crond 相关指令
①、crontab -r 终止任务调度
②、crontab -l 列出当前有哪些任务调度
③、service crond restart 重启任务调度