0


Linux Crontab 使用详解

什么是 crontab?

crontab 是一个定时执行任务的工具,在 Linux 系统中广泛使用。它可以让用户在指定的时间自动执行某个指令或脚本,例如自动备份数据、清除日志、定时运行程序等。

crontab 的工作原理

crontab 依赖于系统 crond 守护进程(又称 cron 服务),该服务默认在后台运行,并周期性地检查用户的 crontab 配置文件是否有要执行的任务。如果有,就按照指定的时间执行对应的任务。

crontab 的语法

crontab 的语法非常特殊,需要按照固定的格式编写。下面是一个完整的 crontab 语句的例子:

# m h dom mon dow command
  *  *  *   *   *  command

上面这条语句共有 6 个字段,分别代表分钟数(m)、小时数(h)、一个月的第几天(dom)、月份(mon)、星期几(dow)和要执行的命令(command)。以下是每个字段的详细说明:

  • Minute:分钟,取值范围为 0-59;
  • Hour:小时,取值范围为 0-23;
  • Day of Month:一个月的第几天,取值范围为 1-31;
  • Month:月份,取值范围为 1-12;
  • Day of Week:星期几,取值范围为 0-7(0 和 7 都代表周日,1 代表周一,依此类推);
  • Command:要执行的命令。

在每个字段中,你可以使用单个数字、数字范围、逗号(,)、星号(*)和斜杠(/),以构建 crontab 语句。

命令

查看当前运行的定时任务

crontab -l

删除所有的定时任务

crontab -r

编辑定时任务

crontab -e

执行命令存储文件位置

/var/spool/cron

日志所在位置

文件:

/var/log/cron

使用案例

每隔五秒执行一次

# crontab 最小单位是分钟,利用sleep实现每隔五秒钟执行一次
*/1 * * * * /bin/date >>/tmp/date.txt
*/1 * * * * sleep5&& /bin/date >>/tmp/date.txt
*/1 * * * * sleep10&& /bin/date >>/tmp/date.txt
*/1 * * * * sleep15&& /bin/date >>/tmp/date.txt
*/1 * * * * sleep20&& /bin/date >>/tmp/date.txt
*/1 * * * * sleep25&& /bin/date >>/tmp/date.txt
*/1 * * * * sleep30&& /bin/date >>/tmp/date.txt
*/1 * * * * sleep35&& /bin/date >>/tmp/date.txt
*/1 * * * * sleep40&& /bin/date >>/tmp/date.txt
*/1 * * * * sleep45&& /bin/date >>/tmp/date.txt
*/1 * * * * sleep50&& /bin/date >>/tmp/date.txt
*/1 * * * * sleep55&& /bin/date >>/tmp/date.txt

每天00:05执行

50 * * * 

每月1号14:15

15141 * *

每周从周一到周五 22:00

022 * * 1-5

在线验证工具

https://crontab.guru/

点击

next

可以看到下几次执行时间

在这里插入图片描述

标签: linux bash 服务器

本文转载自: https://blog.csdn.net/zhangshenghang/article/details/130558376
版权归原作者 jast_zsh 所有, 如有侵权,请联系我们删除。

“Linux Crontab 使用详解”的评论:

还没有评论