Linux定时任务crontab
2023-11-15

Linux定时任务crontab

rontab 使用

1、安装 crontab

一般 CentOS 会默认安装了 crontab,执行下面命令,查看是否安装:


rpm -qa | grep crontab

如果查询结果类似于下面,说明已安装:


crontabs-1.11-6.20121102git.el7.noarch

如果结果为空,说明没有安装,执行下面命令进行安装即可:


yum install -y crontabs

2、crontab 常用命令

查看 crontab 运行状态:


systemctl status crond

如果显示结果为 Active: active (running) 则表示运行中,Active: inactive (dead) 表示未运行。

如果 crontab 未运行,可以通过下面命令设置开机自启和启动。

设置 crontab 开机自启:


systemctl enable crond

启动 crontab:


systemctl start crond

查看当前用户的定时任务:

crontab -l

3、设置定时任务

这里我们以一个「每天晚上定时将指定文件夹打包成压缩包」的任务为例,说明设置定时任务的步骤。

首先,在 root 目录下创建一个 test 文件夹:


mkdir test

然后在 root 下创建一个脚本 test.sh:


vim /root/test.sh

按 i 进入编辑状态,粘贴下面内容:


#! /bin/bash

tar -zcvf test.tar /root/test

按 Esc 键,再输入 :wq 保存文件。

执行下面命令即可编辑当前用户的定时任务:


0 19 * bash /root/test.sh


crontab -e

假如我想在每天 19:00 的时候压缩 test 文件夹,那么可以按下 i 进入编辑状态,粘贴下面内容:

0 19 * bash /root/test.sh

按 Esc 键,再输入 :wq 保存,当然你也可以修改为临近的时间,测试是否生效。

通过 crontab -l 可查看到已保存的定时任务

查看crontab日志

crontab日志记录着任务执行的状态。

crontab日志文件位置为/var/log/cron。

可以使用less或tail命令查看日志:


less /var/log/cron


tail -f /var/log/cro

参考文章:

croncsdn参考

cron知乎参考

定时解析工具网址

crontab.guru

pppet