Linux Crontab 介绍

Linux Crontab 介绍

Linux中的Crontab命令简介

Crontab命令列出、编辑、删除或提交cron作业。cron作业是由cron守护程序在预定的时间间隔内定期执行的命令。我们需要指定命令,即 crontab, 加上标志,即 -e, 来提交任何cron作业。crontab命令产生一个编辑会话,允许我们建立一个crontab文件。我们在这个文件中为所有cron工作创建条目。所有条目都必须采用对cron daemon来说很合适的格式。

crontab命令将条目复制到目录中,即/var/spool/cron/crontabs,并在我们完成建立条目并退出文件时,将其放在我们当前用户名的文件名内。我们也可以通过描述文件参数来建立一个crontab文件。该文件必须是cron daemon期望的形式,如果它存在的话。如果编辑器不存在,crontab命令就会调用它。如果EDITOR环境变量可用,该命令会调用它所描述的编辑器。否则,crontab命令将使用vi编辑器。

  • 我们需要描述crontab命令,同时使用-l标志来列出crontab文件的内容。
  • 我们可以使用-r标志来删除一个现有的文件。
  • 用户名参数(可选)可以由crontab文件所有者或根用户应用,以验证、删除、列出或编辑定义用户的cron工作状态。
  • 产生一条错误信息,如果用户名无效,程序将退出。
  • 如果没有指定用户名参数(可选),则当前用户和根用户的crontab标志会出现。
  • crontab是一组我们希望定期执行的命令。
  • 命令的名称也被用来组织该列表。

crontab的全称是 “cron table” ,因为它利用工作调度器cron来运行任务;cron本身是以 “chronos “ 命名的。 Cron是系统的一个进程,它将根据一个固定的时间表自动为我们执行任务。这个时间表被称为crontab,它是用来改变该时间表的程序名称。

为什么我们要使用Cron工作

以下是在Linux中使用cron作业的一些原因。

  • Cron作业用于自动化系统维护。
  • Crontab是自动化Unix作业的一个完美选择。
  • 定期清理缓存数据。
  • 发出通知邮件,如密码过期邮件、新闻简报等。
  • 清理和归档数据库表
  • 删除旧的日志文件
  • 帮助操作系统抓取数据库或日志文件的预定备份。

Cron 配置文件类型

以下是cron配置文件的类型。

  • 用户Crontab

    用户可以在crontab命令的帮助下安装他们的cron作业。所有用户都可以有自己的crontab文件,因此这些文件在crontabs /var/spool/cron/中;它们不倾向于被直接编辑。我们可以使用crontab命令来编辑设置我们的cron作业。

  • Linux/Unix系统的Crontab

    它需要sudo权限,因为它用于关键工作和系统服务。它为系统crontab提供了作为用户执行命令的能力。

Crontab唯一字符串

我们可以使用crontab给出的八个唯一字符串。它不仅可以节省我们的时间,还可以增加可读性。

独特字符串 解释
@reboot 启动后,执行一次。
@yearly 每年执行一次,即0 0 1 1 *
@annually 与@yearly相同。
@monthly 每月执行一次,即0 0 1 * *
@weekly 每周执行一次,即,0 0 * * 0
@daily 每天执行一次,即0 0 * * *。
@midnight 它与@daily相同。
@hourly 每小时执行一次,即,0 * * * *

Crontab唯一字符串的例子

  • 要按年安排操作
@yearly /scripts/greeting.sh

我们可以运行上面那个,来发送新年的问候。同时,它将在每年的第一分钟运行。

  • 要安排操作按月运行
@monthly /scripts/cleanup.sh

我们可以在每个月开始的时候运行上面的那个来实现一些清理活动。我们同样可以使用其他crontab的唯一字符串来实现每小时、每天和每周的目标。

Cron目录

系统管理员可以利用一个全系统的cron时间表,它属于预定义的cron目录,如下图所示。

  • /etc/cron.weekly
  • /etc/cron.monthly
  • /etc/cron.hourly
  • /etc/cron.day
  • /etc/cron.d

Cron在Linux下的使用

Linux的系统包包含一个有用的任务调度器,叫做crontab。Crontab很有名,因为它可以以root身份调度执行一个自动开发。因此,以root身份激活自动开发使系统的修改更加容易。我们只需要修改任务并等待它被重新启动。

Linux Crontab的格式

Linux crontab包含六个不同的字段。最初的五个字段指定了执行的日期和时间,最后一个字段用于命令执行。

Crontab的语法

[Minute] [hour] [Day_of_the_Month] [Day_of_the_Year] [Day_of_the_Week] [command]

如何修改/添加Crontab

  • 用户可以使用以下命令修改他们的crontab作业。
$ crontab -u -e

这个命令打开了我们计算机系统的个人crontab配置,可以用我们默认的文本编辑器进行修改。

  • 我们不需要重新启动我们的crontab,因为当我们使用下面的命令时,它将自动接收我们的修改。
$ crontab -l
  • 我们可以使用下面的crontab命令来删除我们的crontab任务。
$ crontab -r
  • 我们可以使用下面的crontab命令来更新或添加crontab中的作业。
$ crontab -e
  • 我们可以使用下面的crontab命令来编辑其他用户的crontab。
$ crontab -u username -e

列表 Crontab

  • 我们可以使用下面的crontab命令来查看用户的crontab条目。
$ crontab -l
  • 我们可以使用下面的crontab命令来查看一个特定用户的crontab条目。
$ crontab -u username -l

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程