diff --git a/translated/tech/20160605 How to Add Cron Jobs in Linux and Unix.md b/published/20160605 How to Add Cron Jobs in Linux and Unix.md similarity index 76% rename from translated/tech/20160605 How to Add Cron Jobs in Linux and Unix.md rename to published/20160605 How to Add Cron Jobs in Linux and Unix.md index 0b5ee53439..139084225a 100644 --- a/translated/tech/20160605 How to Add Cron Jobs in Linux and Unix.md +++ b/published/20160605 How to Add Cron Jobs in Linux and Unix.md @@ -19,9 +19,9 @@ - **UNIX 或 Linux 系统的 crontab** : 此类型通常由那些需要 root 或类似权限的系统服务和重要任务使用。第六个字段(见下方的字段介绍)为用户名,用来指定此命令以哪个用户身份来执行。如此一来,系统的 `crontab` 就能够以任意用户的身份来执行操作。 -- **用户的 crontab**: 用户可以使用 `corntab` 命令来安装属于他们自己的定时任务。 第六个字段为需要运行的命令, 所有的命令都会以创建该 crontab 任务的用户的身份运行。 +- **用户的 crontab**: 用户可以使用 `crontab` 命令来安装属于他们自己的定时任务。 第六个字段为需要运行的命令, 所有的命令都会以创建该 crontab 任务的用户的身份运行。 -**注意**: 这种问答形式的 `Cron` 实现由 Paul Vixie 所写,并且被包含在许多 [Linux][2] 发行版本和类 Unix 系统(如广受欢迎的第四版 BSD)中。它的语法被各种 crond 的实现所[兼容][3]。 +**注意**: 这种问答形式的 `Cron` 实现由 Paul Vixie 所编写,并且被包含在许多 [Linux][2] 发行版本和类 Unix 系统(如广受欢迎的第四版 BSD)中。它的语法被各种 crond 的实现所[兼容][3]。 那么我该如何安装、创建或者编辑我自己的定时任务呢? @@ -47,24 +47,24 @@ $ crontab -e 其中: -- 1: 分钟 (0-59) -- 2: 小时 (0-23) -- 3: 日期 (0-31) -- 4: 月份 (0-12 [12 代表 December]) -- 5: 一周当中的某天 (0-7 [7 或 0 代表星期天]) -- /path/to/command – 计划执行的脚本或命令的名称 +- 第1个字段:分钟 (0-59) +- 第2个字段:小时 (0-23) +- 第3个字段:日期 (0-31) +- 第4个字段:月份 (0-12 [12 代表 December]) +- 第5个字段:一周当中的某天 (0-7 [7 或 0 代表星期天]) +- /path/to/command - 计划执行的脚本或命令的名称 便于记忆的格式: ``` * * * * * 要执行的命令 -– – – – – +---------------- | | | | | -| | | | —– 一周当中的某天 (0 – 7) (周日为 0 或 7) -| | | ——- 月份 (1 – 12) -| | ——— 一月当中的某天 (1 – 31) -| ———– 小时 (0 – 23) -————- 分钟 (0 – 59) +| | | | ---- 周当中的某天 (0 - 7) (周日为 0 或 7) +| | | ------ 月份 (1 - 12) +| | -------- 一月当中的某天 (1 - 31) +| ---------- 小时 (0 - 23) +------------ 分钟 (0 - 59) ``` 简单的 `crontab` 示例: @@ -90,13 +90,13 @@ $ crontab -e - **逗号 (,)** : 这个操作符指定了一个包含多个值的列表,例如:`1,5,10,15,20,25`. -- **横杠 (–)** : 此操作符指定了一个值的范围,例如:`5-15` ,等同于使用逗号操作符键入的 `5,6,7,8,9,….,13,14,15`。 +- **横杠 (-)** : 此操作符指定了一个值的范围,例如:`5-15` ,等同于使用逗号操作符键入的 `5,6,7,8,9,...,13,14,15`。 - **分隔符 (/)** : 此操作符指定了一个步进值,例如: `0-23/` 可以用于小时字段来指定某个命令每小时被执行一次。步进值也可以跟在星号操作符后边,如果你希望命令行每 2 小时执行一次,则可以使用 `*/2`。 ### 如何禁用邮件输出 -默认情况下,某个命令或者脚本的输出内容(如果有的话)会发送到你的本地邮箱账户中。若想停止收到 `crontab` 发送的邮件,需要添加 `>/dev/null 2>&1` 这段内容,例如: +默认情况下,某个命令或者脚本的输出内容(如果有的话)会发送到你的本地邮箱账户中。若想停止收到 `crontab` 发送的邮件,需要添加 `>/dev/null 2>&1` 这段内容到执行的命令的后面,例如: ``` 0 3 * * * /root/backup.sh >/dev/null 2>&1 @@ -133,9 +133,9 @@ crontab -r crontab -r -u username ``` -### 使用特殊字符来节省时间 +### 使用特殊字符串来节省时间 -你可以使用以下 8 个特殊字符中的其中一个替代头五个字段,这样不但可以节省你的时间,还可以提高可读性。 +你可以使用以下 8 个特殊字符串中的其中一个替代头五个字段,这样不但可以节省你的时间,还可以提高可读性。 特殊字符 |含义 |:-- |:-- @@ -158,9 +158,9 @@ crontab -r -u username ### 关于 `/etc/crontab` 文件和 `/etc/cron.d/*` 目录的更多内容 -** /etc/crontab ** 是系统的 corntabs 文件。通常只被 root 用户或守护进程用于配置系统级别的任务。每个独立的用户必须像上面介绍的那样使用 `corntab` 命令来安装和编辑自己的任务。`/var/spool/cron/` 或者 `/var/cron/tabs/` 目录存放了个人用户的 corntab 文件,它必定会备份在用户的家目录当中。 +** /etc/crontab ** 是系统的 crontab 文件。通常只被 root 用户或守护进程用于配置系统级别的任务。每个独立的用户必须像上面介绍的那样使用 `crontab` 命令来安装和编辑自己的任务。`/var/spool/cron/` 或者 `/var/cron/tabs/` 目录存放了个人用户的 crontab 文件,它必定会备份在用户的家目录当中。 -### 理解默认的 `/etc/crontab` 文件 +###理解默认的 `/etc/crontab` 文件 典型的 `/etc/crontab` 文件内容是这样的: @@ -176,9 +176,9 @@ HOME=/ 42 4 1 * * root run-parts /etc/cron.monthly ``` -首先,环境变量必须被定义。如果 shell 行被忽略,corn 会使用默认的 sh shell。如果 PATH 变量被忽略,就没有默认路径会被使用,所有的文件都需要使用绝对路径来定位。如果 HOME 变量被忽略,corn 会使用调用者(用户)的家目录。 +首先,环境变量必须被定义。如果 SHELL 行被忽略,cron 会使用默认的 sh shell。如果 PATH 变量被忽略,就没有默认的搜索路径,所有的文件都需要使用绝对路径来定位。如果 HOME 变量被忽略,cron 会使用调用者(用户)的家目录替代。 -另外,corn 会读取 `/etc/cron.d/`目录中的文件。通常情况下,像 sa-update 或者 sysstat 这样的系统守护进程会将他们的定时任务存放在此处。作为 root 用户或者超级用户,你可以使用以下目录来配置你的定时任务。你可以直接将脚本放到这里。`run-parts`命令会通过 `/etc/crontab` 文件来运行位于某个目录中的脚本或者程序。 +另外,cron 会读取 `/etc/cron.d/`目录中的文件。通常情况下,像 sa-update 或者 sysstat 这样的系统守护进程会将他们的定时任务存放在此处。作为 root 用户或者超级用户,你可以使用以下目录来配置你的定时任务。你可以直接将脚本放到这里。`run-parts`命令会通过 `/etc/crontab` 文件来运行位于某个目录中的脚本或者程序。 目录 |描述 |:-- |:-- @@ -198,7 +198,7 @@ HOME=/ -------------------------------------------------------------------------------- -via: https://www.unixmen.com/add-cron-jobs-linux-unix/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+unixmenhowtos+%28Unixmen+Howtos+%26+Tutorials%29 +via: https://www.unixmen.com/add-cron-jobs-linux-unix/ 作者:[Duy NguyenViet][a] 译者:[mr-ping](https://github.com/mr-ping)