定时任务设置,linux定时任务配置cron表达式
什么是定时任务
cron
是一个用于按计划运行短小且快速的命令的实用命令行工具。该工具是一个方便、经典的系统管理工具,通过和其他工具结合使用可以自动运行各式各样的任务。比如,有些人通过把rsync
和cron
结合使用,在特定的时间自动创建每日备份和每周备份。也有些人使用cron
来分析服务器日志,并且结合邮件系统功能,在日志检测到错误时自动发送告警邮件。
cron
就如同“瑞士军刀”一样,可以多场景多样化使用。尽可能发挥你的想象,去挖掘它的功能。
其实 cron
的使用很容易上手,只需要几秒钟。不过在我们开始上手之前,先来讨论下几个经常容易混淆的概念。
cron、定时任务、crontab
有三个术语比较容易混淆:cron
、定时任务和crontab
,让我们来看看它们的含义:
术语 | 含义 |
---|---|
cron | 这是安装在系统上的实际执行定时任务的 守护进程。 |
定时任务 | “任务”是指一段启动并运行的程序。cron 可以按照约定的时间计划运行各种任务,这样的任务通常叫做“定时任务”。 |
crontab | 这是一个文件,用于定义定时任务。一个 crontab 文件可以通过表格形式(每一行就是一个定时任务)定义多个定时任务。 |
来看一个简单例子:创建一个定时任务,每小时向 crontabl_log.txt
文件打印Linux is cool!
。
0 * * * * echo "Linux is Cool!" >> ~/crontab_log.txt
是不是这么个简单定时任务的例子都让你感到惊恐,这是因为你需要懂得如何去读懂一个定时任务的属性。
我将在后文中讲述这个基础理论知识。
上手 cron
我们通过另一个例子来看看 cron
如何工作。
为了创建定时任务(或者说 cron
将要执行的命令任务),你只需要运行:
crontab -e
这将会打开一个文件,用于编辑定时任务:
其中,所有以 #
开头的行都是注释,用于指导你如何使用cron
,如果觉得没用可以删除它们。
我们将创建如下任务,作为我们的第一个定时任务:
* * * * * touch ~/crontab_test
让我快速看看该任务将会做什么:
定时任务都是以 “分钟 小时 天 月 周 命令” 形式呈现:
分钟:指该任务在哪一分钟会被执行。所以,该值为
0
则代表在每个小时开始时运行,5
则代表在每个小时的第 5 分钟会运行。小时:指该任务在一天中的哪个小时会被执行,取值范围为
0-23
。没有24
的原因是23
时的末尾是半夜11:59
,然后就是每天的开始0
时。分钟的取值范围定义逻辑与之类似。天:指一个月中的哪一天执行该任务,取值范围是
1-31
(不同于前面的分钟和小时从0
开始取值)。月:指该任务在哪个月被执行,取值范围是
1-12
。周:指该任务在星期几被执行,从周日开始算起,取值范围是
0-6
(分别对应周日、周一到周六)。命令:是你想要运行的命令任务。
如果想对 “分钟 小时 天 月 周” 部分有更详细的理解,可以参考 Crontab guru 网站,该网站可以帮助你理解正在执行什么。
接着之前的例子 * * * * * touch ~/crontab_test
,表示每分钟创建一次~/crontab_test
文件。
让我们将该任务编辑进 crontab
然后看看执行结果:
本文地址:网络百科频道 https://www.eeeoo.cn/wangluo/903082.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!