Cron 作业
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作业。