• Linux 实用指令(6)--crond任务调度


    crond任务调度

    1 原理示意图

    crontab 进行 定时任务的设置


    2 概述

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

    任务调度分类:1. 系统工作:有些重要的工作必须周而复始的执行。如病毒扫描等

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

    3 基本语法

    crontab [选项]

    3.1 常用选项

    -e 编辑crontab定时任务
    -l 查询crontab任务
    -r 删除当前用户所有的crontab任务

    4 快速入门

    4.1 任务的要求

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

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

    接着输入任务到调度文件

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

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

    4.2 步骤如下

    1)cron -e

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

    2. 当保存退出后就程序。

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

    4.3 参数细节说明

    5个占位符的说明

    项目 含义 范围
    第一个‘*’ 一个小时当中的第几分钟 0-59
    第二个‘*’ 一天当中的第几小时 0-23
    第三个‘*’ 一个月当中的第几天 1-31
    第四个‘*’ 一年当中的第几月 1-12
    第五个‘*’ 一周当中的星期几 0-7

    特殊符号的说明

    特殊符号 含义
    * 代表任何时间,比如一个"*"就代表一个小时中每分钟都执行一次的意思
    代表不连续的时间。比如”0 8,12,16 * * * 命令“,就代表每天的8点0分,12点0分16点0分都执行一次命令
    - 代表连续的时间范围。比如”0 5 * * 1-6 命令“,代表在周一到周五的凌晨5点0分执行命令
    */n 代表每个多久执行一次。比如”*/10 * * * * “代表每隔10分钟就执行一遍命令

    特定时间执行任务案例

    时间 定义
    45 22 * * * 命令 在22点45分执行命令
    0 17 * * 1 命令 在每周1的17点0分执行命令
    0 5 1,15 * * 命令 每月1号和15号的凌晨5点执行命令
    */10 4 * * * 命令 每天凌晨4点,每隔10分钟执行一次命令
    0 0 1,15 * 1 命令 每个月的1号和15号,每周1的0点0分都会执行命令。
    注意:星期几和几号最好不要同时 出现,因为他们定义的都是天。
    非常容易让管理员混乱。

    5 任务调度的几个应用实例

    5.1 案例一:

    每隔1分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中

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

    2)给mytaskl.sh 一个可以执行的权限

    chomd 744 /home/mytask1.sh

    3)crontab -e

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

    5)成功

    5.2 案例二 :

    每隔1分钟,将当前日期和日历都追加到 /home/mycal 文件中

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

    date >> /tmp/mycal

    cal>> /tmp/mycal

    2)给mytask1.sh 一个可以执行权限

    chomd 744 /home/mytask2.sh

    1. crontab -e

    2. */1 * * * * /home/mytask2.sh

    5)成功

    5.3 案例三:

    每天凌晨2:00 将mysql 数据库testdb ,备份到mydb.bak

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

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

    2)给mytask3.sh 一个可以执行权限

    chomd 744 /home/mytask3.sh

    3)crontab -e

    4)0 2 * * * /home/mytask3.sh

    5)成功

    6 crond 相关指令

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

    2) crontab - l:列出当前有哪些任务调度

    3)service crond restart 【重启任务调度】

  • 相关阅读:
    LeetCode456. 132模式
    LeetCode455. 分发饼干
    LeetCode454. 四数相加 II
    LeetCode453. 最小移动次数使数组元素相等
    matchMedia 媒体查询结果
    异常捕获
    常用xpath选择器和css选择器总结
    python-爬虫中的extract()
    Python应用前景广阔,怎么学才能快速上手?
    Python 为什么要有 pass 语句?
  • 原文地址:https://www.cnblogs.com/jianshuai520/p/11347468.html
Copyright © 2020-2023  润新知