这是一个 第二篇 从一个系列中,我们使用天主教会所谓的“致命罪”作为借口了解更多关于 Linux 世界的命令和程序。 在这种情况下,我们继续讨论对那些培养懒惰的人来说非常有用的 cron 的使用。
鉴于我们生活在一个容易被冒犯的时代,让我在进入这个问题之前澄清一下,我无意取笑任何人的宗教信仰。 无论如何,这是一种自嘲。 我在 XNUMX 年代的大部分时间里都在研究教理问答,因此在我领完第一次圣餐后,除非有家庭活动需要,否则我再也没有踏入教堂。 我必须以某种方式找回那个时间。
cron 和 crontab 有什么用?
我们说过 cron 是一个守护进程,也就是说 无需用户干预即可在后台运行的程序。 在寻找本文的其他信息时,我发现将 daemon(Unix 系统和衍生程序称为此类程序的方式)翻译为 daemon 是 一个普遍的错误但我不会纠正它。 我们在谈论罪,必须至少有一个恶魔。
cron 的作用是在之前指定的时间执行某个任务. 大多数情况下,这是由于系统需要,尽管用户可以通过编辑称为 crontab 的文本文件来指示其他人。
在上一篇文章中,我们说过创建 crontab 的命令是:
crontab –e
对于默认用户
O
crontab –u nombre_de_usuario
对于任何其他人。
Crontab 是一个文本文件,它为 Cron 提供有关做什么和何时执行的说明。
关于通过 crontab 使用 cron
要创建我们的 crontab,我们必须考虑以下几点:
- 每个任务使用一行。
- 必须指明任务执行的日期和时间。 如果这是一项需要周期性的任务。 例如,每周三早上 5 点,其余参数将替换为星号 (*)。
- 如果要为给定参数分配多个值,则每个值必须用逗号分隔。
- 参数用空格分隔。
- 必须知道命令启动器所在的目录
例如,如果我们希望我们孩子的电脑在每天晚上 20:XNUMX 关闭,指令将是
0 20 * * * /sbin/shutdown
如果我们希望仅在周日关闭,我们将指令更改为
0 20 * * 0 /sbin/shutdown
有一些快捷方式可以让我们不必输入所有参数。 他们是:
- @小时: 在整点执行命令。
- @日常的: 在每天开始时运行该命令。
- @每周: 在一周的第一天开始运行该命令。
- @月刊: 在每个月的第一天开始运行命令。
- @每年:在一年的第一分钟执行命令。
使用此命令的一些示例是:
@daily /bin/sh /ruta_al_script/nombre_del_script.sh
运行 Bash 脚本。
@hourly /bin/python3 /ruta_al_script/nombre_del_script.py
每小时运行一个 python 脚本。
在所有情况下 脚本必须具有执行权限。
在我们看到的例子中,不仅指明了命令,还指明了可执行文件所在的路径。 我们将使用这些目录:
- /斌: 它包含系统运行所需的所有应用程序。
- /sbin: 以下是 root 用户管理系统所需的应用程序。
- /主页:存储每个用户的应用程序的位置。
- /用户: 用户安装的应用程序和文件存储在这里。 它们包括具有此列表中提到的名称和功能的文件。
在下一篇文章中,我们将看到如何改进 crontab 编写以及其他一些可用于 Linux 的自动化工具。