栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【奇技淫巧】Linux | 时光之主-我们重复重复又重复crontab

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【奇技淫巧】Linux | 时光之主-我们重复重复又重复crontab


theme: condensed-night-purple

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

前几篇文章有讲到Linux系统中关于时间的一些操作命令,包括date,at,sleep等,这篇文章来讲关于时间的最后一个命令,那就是终极大杀器crontab。

一、基础概念

crontab其实就是一个命令,一个很强大的命令,用来定时执行程序,所谓定时,就是我们可以重复重复又重复的执行,比如每小时,每分钟,每秒,每天某个时刻等等。

其原理是读取和修改一个名为crontab的文件。这个而文件中包含了需要定时执行的程序的列表,以及重复执行的时刻。

实际上,对于crontab包含两个命令,一个叫crontab,这个命令用于修改crontab的文件,另一个叫cron,用户实际执行定时的程序。

而且需要注意的是对于每一个用户,其都有一个单独的crontab的文件,进行了用户级别的隔离。

二、基础使用

使用前,确保已经安装,如果未安装,采用以下的命令。

```

centos install

$sudo yum install vixie-cron crontabs $chkconfig crond on $service crond start

Debian install

$sudp apt install cron $service cron restart ```

安装完成后可进行简单操作。

```

显示crontab文件

$crontab -l ```

输出内容如下:

因为这是一台新的服务器,我还没有使用过crontab命令,所以并没有这个文件。

没有这个文件,我们就来创建这个文件。

```

创建,编辑crontab 文件

$crontab -e ```

编辑这个文件的内容,填写的每一条定时任务,都需要遵守下面的语法规则。

```

m h dom mon dow command

x x x x x command ```

  • 第一个x:代表分钟(0-59)
  • 第二个x:代表小时(0-23)
  • 第三个x:代表日(1-31)
  • 第四个x:代表月份(1-12)
  • 第五个x:代表星期几(0-6,星期日是0)
  • command: 那就是需要执行的命令

是不是感觉没那么难,另外需要注意的是,如果前五个x不想填任何值,可以使用星号(*) 填充,其表示任何值。

还有另外一点,如果不想执行某条任务,再前面加 #号注释保存文件即可。

输出命令进入编辑状态

$crontab -e

在文件中输入内容

10 21 * * * touch ~/new_file

然后保存文件,控制台的打印如下。

意思是安装了新的crontab文件。

那如果不想执行这个任务怎么办?第一可以按照上面的方式在任务前加#号处理,或者是直接删除crontab文件。

```

删除crontab文件

$crontab -r ```

这些是crontab最常见的使用,更多见帮助手册。

三、更多用法

48 * * * * command 0 0 * * 2 command 30 5 1-16 * * command 0 0 * * 1,3,5 command 0 */4 * * * command */5 * * * 1-4 command

那么问题来了,上面的定时任务是如何执行的呢?欢迎留言区留下你的答案!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/289537.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号