CentOS 7 定时任务 crontab
本文是基于 CentOS 7,其他 Linux 发行版可能略有不同。
crontab 适用场景
crontab 用于提交和管理执行周期性的任务。
例如你需要在每天凌晨 1 点重启服务器,那么 crontab 可以很方便的帮你执行重启操作。
再例如,你要每隔 5 分钟检查某个服务是否在运行,也可以使用 crontab 来实现。
crontab 使用
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 保存文件。
执行下面命令即可编辑当前用户的定时任务:
crontab -e
假如我想在每天 19:00 的时候压缩 test 文件夹,那么可以按下 i 进入编辑状态,粘贴下面内容:
0 19 * * * bash /root/test.sh
按 Esc 键,再输入 :wq 保存,当然你也可以修改为临近的时间,测试是否生效。
通过 crontab -l 可查看到已保存的定时任务:
0 19 * * * bash /root/test.sh
定时任务参数说明:
-
# .---------------- 分钟,取值范围为 0-59
-
-
# | .------------- 小时,取值范围为 0-23
-
-
# | | .---------- 日,取值范围为 1-31
-
-
# | | | .------- 月,取值范围为 1-12
-
-
# | | | | .---- 星期,取值范围为 0-7,0 和 7 都表示星期日
-
-
# | | | | | .-- 要执行的命令
-
-
# | | | | | |
-
-
0 19 * * * bash /root/test.sh
到达指定时间之后,查看 /root 目录下是否已经有了 test.tar 压缩包,如果有说明定时任务执行成功;如果没有,则说明 crontab 没有执行。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfejieg
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01