• 实操篇 crond任务调度


    定时任务调度

    1、原理图

    clipboard


    2、概述

    任务调度:是指系统在某个时间执行的特定的命令或者程序

    任务调度分类:

    1)系统工作,某些重要的工作必须周而复始的执行,如病毒扫描

    2)个别用户工作:个别用户可能希望执行某些程序,比如说mysql数据库的备份


    3、基本语法

    crontab 【选项】

    -e 编辑 crontab定时任务

    -l 查询crontab定时任务

    -r 删除当前用户所有的crontab定时任务


    4、快速入门案例

    1)任务要求

    设置任务调度文件 : /etc/crontab

    设置个人任务调度:执行 crontab -e 命令

    输入任务到调度文件:

    */1 * * * * ls -l /etc/ > /tmp/to.txt

    意思是每小时的每分钟执行 ls -l /etc/ > /tmp/to.txt 命令


    2)步骤

    ①、cron -e

    ②、输入 */1 * * * * ls -l /etc >> /tmp/to.txt

    ③、保存退出

    ④、在每一分钟都会自动调用 ls -l /etc >> /tmp/to.txt

    查看 to.txt 文件:

    clipboard


    3)参数的细节说明

    */1 * * * * ls -l /etc >> /tmp/to.txt

    五个占位符的说明:

    image

    特殊符号的说明

    image


    5、任务调度的几个案例

    【案例1】每个1分钟,就将当前的日期信息,追加到 /temp/mydate文件中

    1) 先编写一个文件 mytask1.sh

    date >> /temp/mydate

    2)给mytask1这个文件可执行权限

    chmod 744 mytask1.sh

    3)crontab -e

    4)*/1 * * * * /home/mytask1.sh

    5)成功


    【案例2】每隔一分钟,将当前日期和日历都追加到 /home/mycal文件中

    1) 先编写一个文件 mytask2.sh

    date >> /temp/mydate

    calander >> /temp/mydate

    2)给mytask2这个文件可执行权限

    chmod 744 mytask2.sh

    3)crontab -e

    4)*/1 * * * * /home/mytask2.sh

    5)成功


    【案例3】每天凌晨2点钟将mysql数据库testdb,备份到文件中 mydb.bak

    1) 先编写一个文件 mytask3.sh

    /usr/local/mysql/bin/mysqldump -u root -proot testdb > /tmp/mydb.bak

    2)给mytask3这个文件可执行权限

    chmod 744 mytask3.sh

    3)crontab -e

    4)0 2 * * * /home/mytask1.3h

    5)成功


    6、crond相关指令

    1)crontab -r : 终止所有任务调度

    2)crontab -l :列出当前所有的任务调度

    3)service crond restart : 重启任务调度

  • 相关阅读:
    Android——另外一种增删查改的方式(ContentProvider常用)
    VS2012下基于Glut OpenGL glScissor示例程序:
    JAXP的SAX解析
    38岁老男孩个人建站方向求教
    [置顶] 某大型银行深化系统技术方案之十三:服务层之服务接口模式
    比特币人必知术语
    ok6410 u-boot-2012.04.01移植二修改源码支持单板
    最近修bug的一点感悟
    小智慧24
    redis beforesleep
  • 原文地址:https://www.cnblogs.com/houchen/p/14824542.html
Copyright © 2020-2023  润新知