Linux基础-crontab(定时任务)

Linux基础-crontab(定时任务)一、概述二、cron服务三、crontab命令

目录

一、概述

二、cron服务  

1、介绍

2、实例

3、管理服务命令

1)centos

2)ubuntu

三、crontab 命令

1、常用格式

2、编写crontab任务记录表

3、实例

4、非交互模式设置定时任务

1)编辑定时任务

2)删除定时任务

3)批量添加定时任务


一、概述

  crontab命令常见于UnixUnix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于”crontab”文件中,以供之后读取和执行。与windows的计划任务类似,crond进程会按照用户设置的规则定期检查是否有要执行的任务,如有则自动执行该任务。其中:cron是服务名、crond是守护进程、crontab是任务记录表。

二、cron服务  

1、介绍

用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务

该服务需要安装的软件包:cronie、crontabs

守护进程:crond

日志文件:/var/log/cron

2、实例

[root@localhost ~]# tail /var/log/cron... ... ...May  1 17:40:01 localhost CROND[2009]: (root) CMD#cron服务执行的消息

3、管理服务命令

1)centos

service crond status  #查看服务状态service crond start  #启动服务service crond stop  #关闭服务service crond restart  #重启服务

2)ubuntu

service cron status  #查看服务状态service cron start  #启动服务service cron stop  #关闭服务service cron restart  #重启服务

三、crontab 命令

管理定时任务,使用 crontab 命令

1、常用格式

编辑:crontab -e [-u 用户名]

查看:crontab -l [-u 用户名]

清除:crontab-r [-u 用户名]

2、编写crontab任务记录表

配置格式可参考/etc/crontab文件

# minute  hour  day  month  week user-name  command to be executed

#分 时 日 月 周 用户名 要执行的命令(系统命令或自己编写的脚本文件)

注:

普通用户只能修改自己的定时任务,超级管理员可以修改所有用户的定时任务,修改自己的定时任务,用户名可以不写

系统命令需要注意使用绝对路径

执行周期

 配置说明

Minute分钟)

从0到59之间的整数

Hour小时)

从0到23之间的整数

Day(日期)

从1到31之间的整数

Month(月份)

从1到12之间的整数

Week(星期)

从0到7之间的整数,0或7代表星期日

注:以上各个字段中,可以使用以下特殊字符

符号名称

配置说明

*(星号)

匹配范围内任意时间

,(逗号)

分隔多个不连续的时间点

-(横杠)

指定连续时间范围

/(正斜线)

指定时间频率,每(分|时|日|月|周)

3、实例

[root@localhost ~]# crontab -e -u root  #编辑定时任务

*/20 6-12 * 12 * /bin/echo "wangwu"

#在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次
[root@localhost ~]# crontab -l -u root  #查看定时任务

*/20 6-12 * 12 * echo "wangwu"
[root@localhost ~]# crontab -r -u root  #删除定时任务

[root@localhost ~]# crontab -l -u root  #查看定时任务

no crontab for root                 #成功删除

4、非交互模式设置定时任务

1)编辑定时任务

命令

( crontab -l; echo "*/1 * * * * /bin/ls" ) | crontab

# */1 * * * * /bin/ls 需要更换为你想要设置的定时任务

实例

[root@localhost ~]# ( crontab -l; echo "*/1 * * * * /bin/ls" ) | crontab       

[root@localhost ~]# crontab -l

*/1 * * * * /bin/ls

#成功添加

2)删除定时任务

命令

crontab  -l|grep -v  "ls"|crontab

#ls需要更换为你想要删除的定时任务的关键字

实例

[root@localhost ~]# crontab  -l|grep -v  "ls"|crontab

[root@localhost ~]# crontab -l

#成功删除

3)批量添加定时任务

命令

( crontab -l; echo "*/1 * * * * /bin/ls

> */2 * * * * /bin/ls

> */3 * * * * /bin/ls" ) | crontab

#*/1 * * * * /bin/ls 需要更换为你想要设置的定时任务

实例

[root@localhost ~]# ( crontab -l; echo "*/1 * * * * /bin/ls

> */2 * * * * /bin/ls

> */3 * * * * /bin/ls" ) | crontab

[root@localhost ~]# crontab -l

*/1 * * * * /bin/ls

*/2 * * * * /bin/ls

*/3 * * * * /bin/ls

#成功添加

今天的文章Linux基础-crontab(定时任务)分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/11091.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注