Cron 作业

时间:2020-03-21 11:42:33  来源:igfitidea点击:

Cron是我们在任何Unix的操作系统中找到的最有用的实用程序之一。
它用于在特定时间安排命令。
这些计划命令或者任务被称为"Cron作业"。
Cron通常用于定期运行计划备份,监视磁盘空间,删除文件(例如日志文件),这些文件不再需要,运行系统维护任务和更多。
在此简要教程中,我们将看到Cron作业在Linux中的基本使用。

Cron 作业

Cron作业的典型格式是:

Minute(0-59) Hour(0-24) Day_of_month(1-31) Month(1-12) Day_of_week(0-6) Command_to_execute

只需记住Cron作业格式或者打印以下插图并将其保留在桌面中。

在上图中,星号是指特定的时间块。

要显示当前登录用户的CRONTAB文件的内容:

$crontab -l

要编辑当前用户的Cron作业,请执行以下操作:

$crontab -e

如果是第一次,我们将被要求选择编辑编辑Cron作业。

no crontab for sk - using an empty one
Select an editor. To change later, run 'select-editor'.
 1. /bin/nano <---- easiest
 2. /usr/bin/vim.basic
 3. /usr/bin/vim.tiny
 4. /bin/ed
Choose 1-4 [1]:

选择适合任何一个。
其中它是一个示例crontab文件的样子。

在此文件中,我们需要一个逐个添加Cron作业。

要编辑其他用户的CRONTAB,例如Inirad,请执行以下操作:

$crontab -u theitroad -e

让我们看到一些例子。

  • 在每分钟运行Cron作业,格式应该如下。
* * * * * <command-to-execute>

例如,如果时间是10:00,下一个作业将在10:01,10:02,10:03等运行。

  • 要在每5分钟运行Cron作业,请在Crontab文件中添加以下内容。
*/5 * * * * <command-to-execute>

例如,如果时间是10:00,下一个作业将在10:05,10:10,10:15等上运行。

  • 在每个星期时小时(即每15次)运行Cron作业,请添加以下内容:
*/15 * * * * <command-to-execute>

例如,如果时间是10:00,下一个作业将在10:15,10:30,10:45等等。

  • 每小时30分钟运行Cron作业:
30 * * * * <command-to-execute>

例如,如果时间是10:00,下一个作业将在10:30,11:30,12:30等上运行。

  • 我们还可以定义由逗号分隔的多个时间间隔。例如,以下Cron作业将每小时运行三次,分钟0,5和10:
0,5,10 * * * * <command-to-execute>
  • 每半小时运行Cron作业:每隔30分钟一次:
*/30 * * * * <command-to-execute>

例如,如果时间是现在10:00,下一份工作将在10:30,11:00,11:30等等。

  • 每小时运行一份工作(第0分):
0 * * * * <command-to-execute>

例如,如果时间是现在10:00,下一个作业将在11:00,12:00,12:00等上运行。

  • 每2小时运行一次工作:
0 */2 * * * <command-to-execute>

例如,如果时间是现在10:00,下一个作业将在12:00运行。

  • 每天运行一份工作(它将在00:00运行):
0 0 * * * <command-to-execute>
  • 每天在凌晨3点锻炼一下:
0 3 * * * <command-to-execute>
  • 每周日运行一份工作:
0 0 * * SUN <command-to-execute>

或者,

0 0 * * 0 <command-to-execute>

它将在周日00:00正好运行。

  • 例如,周一至周五的每天每天都在一周的工作:每个工作日:
0 0 * * 1-5 <command-to-execute>

这份工作将在00:00开始。

  • 每月运行一份工作(即在月份的时间00:00):
0 0 1 * * <command-to-execute>
  • 在第1天的16:15开始工作:
15 16 1 * * <command-to-execute>
  • 例如,每季度运营工作:每3年内日期为期1:
0 0 1 */3 * <command-to-execute>
  • 在特定时间在特定月份运行作业:
5 0 * 4 * <command-to-execute>

这项工作将于4月00:05开始。

  • 每6个月运行一次:
0 0 1 */6 * <command-to-execute>

这项Cron工作将在每第6个月的第1天的时间00:00开始。

  • 每年担任工作:
0 0 1 1 * <command-to-execute>

这份Cron工作将在1月份的第1天的00:00开始。

我们还可以使用以下字符串来定义作业。

@Reboot在启动时运行一次。
@Yearly每年一次运行一次。
@annally. (与@Yearly一样)。
@Monthly每月运行一次。
@weekly每周运行一次。
@daily每天运行一次。
@midnight(与@Daily一样)。
@hourly一个小时运行一次。
  • 要每次重新启动服务器时运行作业,请在CRONTAB文件中添加此行。
@reboot <command-to-execute>
  • 要为当前用户删除所有Cron作业:
$crontab -r

有关更多详细信息,请检查man页。

$man crontab

在此阶段,我们可能对CRONTAB的基本了解以及如何在UNIX的系统中创建和运行CRON作业。

CRONTAB语法生成器

正如我们所看到的,调度Cron作业更容易。
此外,还有很少的基于Web的CRONTAB语法生成器可用于使这项工作更轻松。
我们不需要记忆和/或者学习CRONTAB语法。
以下两个有助于我们根据输入轻松生成CRONTAB表达式。
一旦我们根据需要生成该行,只需将其复制/粘贴到CRONTAB文件中。

1. Crontab.guru.

Crontab.guru是学习Cron作业示例的专用。

只需在中输入输入,它将在几分钟内立即创建CRONTAB语法。

该还提供了很多Cron作业示例和提示。

检查它们并学习如何安排CronJob。

2. Crontab Generator

Crontab Generator是另一个,帮助我们快速且轻松地生成CRONTAB表达式。

本给出了具有多个条目的表单。
用户必须选择表单中的所有必填字段。

最后,点击底部的"生成Crontab线"按钮。

在下一个屏幕中,用户将看到他/她的crontab表达式。
只需将其复制/粘贴到Crontab文件。

Crontab图形前端

有一些CRONTAB前端工具可通过图形界面轻松创建CRON作业。
无需从命令行编辑crontab文件以添加或者管理cron作业!这些工具将使Cron工作管理更容易!

1. CRONTAB UI.

Crontab UI是一个基于Web的工具,可轻松安全地管理Linux的Cron作业。
我们无需手动编辑Crontab文件以创建,删除和管理Cron作业。
一切都可以通过Web浏览器完成,其中鼠标右键单击。
Crontab UI允许我们轻松创建,编辑,暂停,删除,备份Cron作业以及在其他计算机上导入,导出和部署作业,而无需非常麻烦。

2. zeit.

zeit是一个Qt前端到'crontab'和'在'命令。
使用zeit,我们可以通过简单的图形界面添加,编辑和删除Cron作业。