在系统管理领域,有一种强大的工具可以让您高效地安排任务:crontab。使用 crontab,您可以在指定的日期和时间执行脚本和命令,这使其成为基于 Unix 的系统中非常有用的实用程序。但是,要充分利用其潜力,您需要了解编辑 crontab 文件的基础知识。在本指南中,我们将详细探讨这些要点。
了解 crontab
期限“定时任务”代表“计划表”它是 cron 守护进程使用的配置文件。 cron 守护进程是 Linux 生态系统中的一个内在实用程序,它根据指定的计划在系统上运行任务。该计划由 crontab 文件规定,这是一个简单的文本文档,包含一系列命令,每个命令都在预定时间执行。 crontab 文件的每一行都遵循特定的语法来计划任务。
访问 crontab 文件
您可以使用以下命令访问特定于用户的 crontab`crontab -e`。此命令将在默认文本编辑器中打开您的用户帐户的 crontab 文件。如果您想指定不同的编辑器,可以通过修改`VISUAL` or `EDITOR`环境变量。
crontab 文件语法
了解语法是编辑 crontab 文件的关键。文件中的每一行代表一个 cron 作业并遵循以下格式:
|
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of the month (1 - 31)
| +------------ hour (0 - 23)
+------------- min (0 - 59)
|
一个星号(`*`上面值字段中的 ) 表示所有合法值,如“每一分钟” or “每天”.
编辑 crontab 文件
当您在 crontab 文件中时,您可以按照我们上面提到的语法添加任务。假设您想要安排一个备份脚本在每天凌晨 3 点运行。您可以将此行添加到您的 crontab 文件中:
|
0 3 * * * /path/to/你的脚本.sh
|
保存并关闭文件,cron 守护进程将自动开始使用新的计划。
常用 crontab 命令
此外`crontab -e`为了进行编辑,这里有一些其他常见的 crontab 命令:
-
`crontab -l`:显示 crontab 文件的内容。
-
`crontab -r`:删除当前的 crontab。
-
`crontab -i`:在删除 crontab 之前提供提示。
crontab 特殊字符串
Crontab 还支持特殊字符串,可以替换五个时间和日期字段:
-
`@重新启动`:启动时运行一次。
-
`@每年`:每年运行一次,“`0 0 1 1 *`“.
-
`@每年`: 与...一样`@每年`.
-
`@每月`:每月运行一次,“`0 0 1 * *`“.
-
`@每周`:每周运行一次,“`0 0 * * 0`“.
-
`@daily`:每天运行一次,“`0 0 * * *`“.
-
`@每小时`:每小时运行一次,“`0 * * * *`“.
使用这些特殊字符串可以使 crontab 文件更易于阅读和维护。
处理输出
默认情况下,cron 会发送一封电子邮件,其中包含每个作业的输出。要更改输出的位置,您可以在 cron 作业中使用 shell 重定向:
|
30 2 * * * /path/to/你的脚本.sh > /path/to/输出文件 2>&1
|
The `>`将脚本的标准输出重定向到文件,并且`2>&1`将脚本的错误输出重定向到标准输出所指向的位置。
最后的想法
编辑 crontab 文件以在基于 Unix 的系统上安排任务是任何系统管理员或开发人员的一项基本技能。正如您所看到的,只要对 crontab 文件语法有基本的了解,调度任务就可以变得简单而高效。
永远记住测试你的 cron 作业以确保它们按预期运行。通过仔细的配置和测试,您可以自动执行各种系统任务,让您可以专注于更重要的事情。快乐的安排!