Linux定时任务 - crontab详情

发布时间 2023-11-06 19:27:07作者: 无虑的小猪

  crontab 是一个用于创建、编辑和管理用户的定时任务的命令,可以让用户在指定的时间自动执行指定的命令或脚本。

1、crontab语法

crontab [OPTION] SCRIPT

  [OPTION]:选项, SCRIPT:表示可执行的命令或脚本。

1.1、OPTION选项

-e

编辑用户的crontab文件

-l

列出用户当前的crontab内容

-r

删除用户的crontab文件

-i

在删除用户crontab文件之前进行确认

1.2、SCRIPT

  SCRIPT 一般指可执行的命令或是脚本。

2、crontab文件格式

2.1、格式说明

  crontab文件中每一行代表一个定时任务,如下:

# 第一个 * 表示分钟 (0-59)
# 第二个 * 表示小时 (0-23)
# 第三个 * 表示日期 (1-31)
# 第四个 * 表示月份 (1-12)
# 第五个 * 表示星期 (1-7)
# 第六个 * 表示分钟 (0-59)
* * * * * command

2.2、通配符

  在crontab文件中可使用通配符,通配符详情如下:
 

*

所有匹配的值

,

指定多个值

-

表示一个范围值

/

重复的频率

2.3、示例

* * * * * command

每分钟执行一次

0 * * * * command

每小时执行一次

0 0 * * * command

每天 00:00 执行一次;

0 0 * * 1 command

每周一 00:00 执行一次

0 0 1 * * command

每月1号 00:00 执行一次

3、crontab文件存放位置

  每个用户都可有自己的 crontab 文件,存储在 /var/spool/cron 目录中;

  root用户的 crontab 文件通常存储在 /etc/crontab 文件中。

4、crontab文件的加载

  crontab启动时会读取crontab文件并加载定时任务, 可使用如下命令将 crontab 文件重新加载。

servie crond restart 

5、应用

  需求:每分钟记录时分秒到指定文件。

5.1、新建SCRIPT脚本

  新建 record_date.sh 脚本,记录时分秒到指定文件。

#!/bin/sh
echo $(date -d now +%H:%M:%S) >> /root/text.log

5.2、配置 crontab 文件

crontab -e
# 配置每分钟执行一次 record_date.sh 脚本
*/1 * * * * /root/record_date.sh

5.3、查看执行结果