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  重启任务调度 

原文地址:https://www.cnblogs.com/superlsj/p/11608747.html