zoukankan      html  css  js  c++  java
  • Cron是什么?利用Cron Job自动执行定时任务

    原文链接 : Cron是什么?利用Cron Job自动执行定时任务 – 草根SEO博客 (simcf.cc)

    Cron

    Cron是一个实用程序,用于在特定的时间自动执行重复任务。在Linux中,常用 cron 服务器来完成这项工作,以下是Cron的工作原理:

    如果想稍后执行特定任务一次,可以使用其他命令。但是,对于重复性任务,cron是完美的解决方案。Cron是一个守护进程,这意味着它在后台运行以执行非交互式任务。类似Windows后台进程中的服务。

    守护程序始终处于空闲状态,并等待命令请求执行某项任务 – 在计算机内或从网络上的任何其他计算机执行。cron文件是一个简单的文本文件,包含在特定时间运行的命令。

    默认crontab文件是/ etc / crontab,位于crontab目录/etc/cron.*/.,只有系统管理员才能编辑系统crontab文件。但是,由于类Unix操作系统支持多个用户,每个用户还可以创建自己的crontab文件并启动命令以随时执行任务,cron守护程序将检查文件并在系统后台运行该命令。

    使用cron作业,可以自动执行系统维护,磁盘空间监视和备份计划。由于其性质,cron作业非常适合全天候工作的计算机 – 服务器。

    请注意,虽然cron作业主要由系统管理员使用,但它对Web开发人员也非常有用。例如,要停用已过期的帐户,检查损坏的链接,甚至为目标用户发送简报都可以使用cron作业。

    Cron工作的基础知识

    基本上,可以使用几种不同的方法创建和编辑cron作业。在本教程中,我们想向您展示如何使用Linux Shell Prompt(终端)来完成它。

    以下是cron作业可以执行的一些基本操作:

    如果要编辑当前用户的crontab文件,请在终端中键入crontab -e:

    它会为您提供这样的结果

    在使用vi编辑器时,可以学习基本的vi命令,以确保采取正确的操作。

    如果要编辑其他用户的crontab,可以键入crontab -u username -e。请记住,您只能以超级用户身份执行此操作,这意味着需要在命令之前键入:sudo su。

    另一个操作允许您查看是否创建了任何crontab文件,只需键入crontab -l即可。如果没有,您将看到此结果。

    此外,如果要查看其他用户的crontab文件列表,可以键入crontab -u username –l

    除了解基本操作外,学习基本语法也很重要。

    基本上,crontab文件由两部分组成:调度计时器和命令,这是命令的编写方式:

    * * * * * / bin / sh backup.sh

    ***** / bin / sh backup.sh cronjob意味着它将每分钟运行一次备份。

    30 18 * * * rm / home / sydtesting / tmp / *表示它每天下午6:30 从/ home / sydtesting / tmp中删除tmp文件。

    如何正确编写Cron语法?

    如前所述,crontab文件有五个字段 – 每个字段用星号表示 – 以确定某个任务集重复执行的日期和时间。

    Minute – 运行命令的分钟,范围从0到59

    Hour  – 命令将在什么时间运行,范围从0到23

    Day of the month – 命令运行的月份的某一天,范围从1到31

    Month – 指定命令运行的月份,范围从1到12

    Day of the week – 希望命令运行的星期几,范围从0到7

    除此之外,您还需要在每个crontab文件中使用正确的字符。

    Asterisk (*)  – 定义所有调度参数。

    Comma (,) – 保持单个命令的两个或更多执行时间。

    Hyphen (-) – 确定设置单个命令的多个执行时间的时间范围。

    Slash (/) – 用于在特定范围内创建预定的时间间隔。

    Last (L)  – 用于确定给定月份中一周的最后一天的特定目的,例如,3L表示最后一个星期三。

    Weekday (W) – 确定给定时间的最近工作日,例如,1W表示如果第1个是星期六,则命令将在星期一(第3个)运行。

    Hash (#) – 用于确定星期几,后跟1到5之间的数字。例如,1#2表示第二个星期一

    Question mark (?) – 留空。

    11 Cron语法示例

    在继续之前,请记住该命令的输出将自动发送到本地电子邮件帐户。因此,如果要停止接收这些电子邮件,可以将> / dev / null 2>&1添加到语法中,如以下示例所示:

    0 5 * * * /root/backup.sh> / dev / null 2>&1
     

    此外,如果要将电子邮件输出发送到特定帐户,则可以添加MAILTO,然后添加电子邮件地址,如下:

    MAILTO = “myname@hostinger.com”

    0 3 * * * /root/backup.sh> / dev / null 2>&1
     

    更多语法示例:

    0 0 * * * / bin / sh backup.s——在每天午夜执行数据库备份。

    0 6,18 * * * / bin / sh backup.sh   ——在上午6点和下午6点每天执行两次数据库备份

    0 * / 6 * * * /scripts/monitor.sh——每六个小时进行一次监控

    * / 10 * * * * /home/user/script.sh——每10分钟为主目录中的脚本文件执行一次cron作业

    0 * 20 7 * / bin / sh backup.sh——在7月20日每小时运行一次数据库备份。

    0 0 * * 2 * / bin / sh——在每个星期二的零点运行数据库备份

    * * * 1,2,5 * /script/script.sh——在1月,2月和5月运行命令

    10-59 / 5 5 * * * /home/user/script.sh     ——在凌晨5点开始每隔5分钟运行一次命令,从早上5:10开始

    0 8 1 * / 3 * /home/user/script.sh——每季度在第一天早上8点运行一个命令

    * * * * * /scripts/script.sh; /scripts/scrit2.sh——在单个cron作业上设置多个任务的计划

    @reboot /scripts/script.sh——每次启动系统时执行某项任务

    结论

    设置自动计划的任务不仅实用,而且还可以防止错过按时采取的假设行动。Cron Job是一种管理此类任务的好方法,无论是作为系统管理员还是像Web开发人员这样的职业,您需要做的就是使用正确的命令并选择正确的时间。

  • 相关阅读:
    Git 基础
    SharePoint 2013 对象模型操作"网站设置"菜单
    SharePoint 2013 隐藏部分Ribbon菜单
    SharePoint 2013 Designer系列之数据视图筛选
    SharePoint 2013 Designer系列之数据视图
    SharePoint 2013 Designer系列之自定义列表表单
    SharePoint 2013 设置自定义布局页
    SharePoint 2013 "通知我"功能简介
    SharePoint 2013 创建web应用程序报错"This page can’t be displayed"
    SharePoint 禁用本地回环的两个方法
  • 原文地址:https://www.cnblogs.com/GuoYuying/p/14757419.html
Copyright © 2011-2022 走看看