导言
定时任务 被用于安排那些需要被周期性执行的命令。利用它,你可以配置某些命令或者脚本,让它们在某个设定的时间内周期性地运行。cron
是 Linux 或者类 Unix 系统中最为实用的工具之一。cron 服务(守护进程)在系统后台运行,并且会持续地检查 /etc/crontab
文件和 /etc/cron.*/
目录。它同样也会检查 /var/spool/cron/
目录。
crontab 命令
crontab
是用来安装、卸载或者列出定时任务列表的命令。cron 配置文件则用于驱动 Vixie Cron
的 cron(8) 守护进程。每个用户都可以拥有自己的 crontab 文件,虽然这些文件都位于 /var/spool/cron/crontabs
目录中,但并不意味着你可以直接编辑它们。你需要通过 crontab
命令来编辑或者配置你自己的定时任务。
定时配置文件的类型
配置文件分为以下不同的类型:
- UNIX 或 Linux 的系统级 crontab : 此类型通常由那些需要 root 或类似权限的系统服务和重要任务使用。第六个字段(见下方的字段介绍)为用户名,用来指定此命令以哪个用户身份来执行。如此一来,系统的
crontab
就能够以任意用户的身份来执行操作。 - 用户的 crontab: 用户可以使用
crontab
命令来安装属于他们自己的定时任务。 第六个字段为需要运行的命令, 所有的命令都会以创建该 crontab 任务的用户的身份运行。
注意: 这种问答形式的 Cron
实现由 Paul Vixie 编写而成,并且被包含在许多 Linux 发行版本和类 Unix 系统(如广受欢迎的第四版 BSD)中。它的语法被各种 crond 的实现所兼容。
那么我该如何安装、创建或者编辑我自己的定时任务呢?
要编辑你的 crontab 文件,需要在 Linux 或 Unix 的 shell 提示符后键入以下命令:
$ crontab -e
crontab
语法(字段介绍)
语法为:
1 2 3 4 5 /path/to/command arg1 arg2
或者
1 2 3 4 5 /root/ntp_sync.sh
其中:
- 第1个字段:分钟 (0-59)
- 第2个字段:小时 (0-23)
- 第3个字段:日期 (1-31)
- 第4个字段:月份 (1-12 [12 代表 December])
- 第5个字段:一周当中的某天 (0-7 [7 或 0 代表星期天])
- /path/to/command – 计划执行的脚本或命令的名称
便于记忆的格式:
* * * * * 要执行的命令
- 周当中的某天 (0 - 7) (周日为 0 或 7)
| | | 月份 (1 - 12)
| | -- 一月当中的某天 (1 - 31)
| | |
via: <https://www.unixmen.com/add-cron-jobs-linux-unix/>
作者:[Duy NguyenViet](https://www.unixmen.com/author/duynv/) 译者:[mr-ping](https://github.com/mr-ping) 校对:[FSSlc](https://github.com/FSSlc)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
发表回复