美文网首页
centos7定时任务crontab

centos7定时任务crontab

作者: 是东东 | 来源:发表于2021-01-07 00:08 被阅读0次

crontab 用于提交和管理执行周期性的任务。

  • 若需要每天凌晨 1 点执行一次任务;
  • 若每隔1分钟检查某服务运行情况;
  • 若每天定点采集数据;

crontab 安装:

一般centos7自带crontab

1. 检测是否安装
rpm -qa | grep crontab

结果返回如下,说明已安装

crontabs-1.11-6.20121102git.el7.noarch

结果为空,执行下面命令进行安装

yum install crontabs

查看crontab服务是否已设置为开机启动

ntsysv

加入开机自动启动

chkconfig crond on

2.查看 crontab 运行状态

systemctl status crond

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

crontab 未运行则通过下面命令设置:

crontab 开机自启:

systemctl enable crond

启动 crontab:

systemctl start crond

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

crontab -l

3.设置定时任务

任务:每十分钟将打印的内容输入到test.txt文件

编辑脚本任务

cd /root
vim /root/test.sh

粘贴下面内容

#! /bin/bash
echo hello world! >> test.txt

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

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

crontab -e

弹出编辑界面,按下 i 进入编辑状态,粘贴下面内容

*/10 * * * * bash /root/test.sh

查看定时任务

crontab -l

*/10 * * * * bash /root/test.sh

4.crontab 不执行的原因
  • 检查 crontab 服务是否正常
  • 检查脚本路径是否绝对路径
  • 检查脚本路径前是否添加了 bash 或 /etc/profile;/bin/sh
如果以上都没问题,那就要通过日志查找问题所在了。
5.参数说明

*/10 * * * * bash /root/test.sh

 */10 Minute:每个小时的第几分钟执行该任务;取值范围0-59
 *    Hour:每天的第几个小时执行该任务;取值范围0-23
 *    Day:每月的第几天执行该任务;取值范围1-31
 *    Month:每年的第几个月执行该任务;取值范围1-12
 *    DayOfWeek:每周的第几天执行该任务;取值范围0-6,0表示周末
 bash /root/test.sh CommandPath:指定要执行的程序路径

命令查看

# man crontab

整理成表格如下:


6.举个栗子

调度示例

* 1 * * * /opt/script/backup.sh :从1:0到1:59 每隔1分钟 执行
15 05 * * * /opt/script/backup.sh :05:15 执行
*/10 * * * * /opt/script/backup.sh :每隔10分 执行
0 17 * * 1 /opt/script/backup.sh :每周一的 17:00 执行
2 8-20/3 * * * /opt/script/backup.sh  8:02,11:02,14:02,17:02,20:02 执行

crontab文件的实例

30 21 * * * /etc/init.d/nginx restart             # 每晚的21:30重启 nginx。
45 4 1,10,22 * * /etc/init.d/nginx restart        # 每月1、 10、22日的4 : 45重启nginx。
10 1 * * 6,0 /etc/init.d/nginx restart            # 每周六、周日的1 : 10重启nginx。
0,30 18-23 * * * /etc/init.d/nginx restart        # 每天18 : 00至23 : 00之间每隔30分钟重启nginx。
0 23 * * 6 /etc/init.d/nginx restart              # 每星期六的11 : 00 pm重启nginx。
* */1 * * * /etc/init.d/nginx restart             # 每一小时重启nginx
* 23-7/1 * * * /etc/init.d/nginx restart          # 晚上11点到早上7点之间,每 隔一小时重启nginx
0 11 4 * mon-wed /etc/init.d/nginx restart        # 每月的4号与每周一到周三 的11点重启nginx
0 4 1 jan * /etc/init.d/nginx restart             # 一月一号的4点重启nginx
*/30 * * * * /usr/sbin/ntpdate 210.72.145.20      //每半小时同步一下时间

相关文章

  • linux定时任务crontab

    利用linux的定时任务crontab来执行脚本,在centos7版本下运行 1、安装crontab yum in...

  • crondtab 定时任务

    编辑定时任务 crontab -e 查看定时任务 crontab -l 删除定时任务 crontab -r 如:*...

  • linux crontab: 定时任务

    参考 crontab 定时任务 Linux之crontab定时任务

  • crond任务调度(定时任务调度)

    基本语法crontab [选项]选项-e : 编辑crontab定时任务-l : 查询crontab定时任务...

  • linux Crontab

    Linux Crontab:Linux中用于执行定时任务的工具crontab -e:编辑定时任务crontab -...

  • Linux定时任务Crontab

    定时任务服务提供crontab命令来设定任务 定时任务命令: 定时任务服务提供crontab命令来设定任务 cro...

  • Crontab

    crontab命令: crontab定时任务: example:

  • 常用的linux命令

    ①定时任务管理: crontab –l 查看定时任务 crontab -e 编辑定时任务 ②查看实时日志: tai...

  • Linux_315_Ansible模块之定时任务管理

    crond服务,定时任务服务crontab -l 查看定时任务crontab -e 添加定时任务 /usr/bin...

  • Linux定时任务

    Linux定时任务 centOS: 使用crontab -e //编辑 crontab -l //查看定时任务 生...

网友评论

      本文标题:centos7定时任务crontab

      本文链接:https://www.haomeiwen.com/subject/rncaoktx.html