Linux定时任务 - crontab详情
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、查看执行结果