Cron 用于配置定时任务。

--

环境为 Ubuntu16-04

--

先说说怎么配置一个简单的定时任务。直观的可以看到效果。

之前在网上查找资料,对Shell编程不熟悉的实在是很头疼,走了不少弯路,但是这个又是是比较重要的命令。

先明白Cron的结构,Cron是一个[守护程序]用于在指定的时间内执行行程类的任务,每一个用户都有一个Crontab文件,执行计划。相同的,系统也有一个 Crontab.

--

创建一个定时任务
crontab -e

当你输入指令时,会出现下面的界面,我们直接向下看最后一行

我们的定时任务,就是写在这下面的

写一个定时任务,先不用明白它是什么意思

# m h  dom mon dow   command
* * * * * date >> /home/vagrant/time.log
重启Cron服务
sudo service cron restart

  之后在你的家目录下会发现多了一个time.log文件,里面会每隔一分钟新增一条当前时间,也就是这个计划任务的含义

vagrant@lims2:~$ tail -f time.log
Tue Mar 27 05:57:01 UTC 2018
Tue Mar 27 05:58:01 UTC 2018
Tue Mar 27 05:59:01 UTC 2018
Tue Mar 27 06:00:01 UTC 2018
Tue Mar 27 06:01:01 UTC 2018
Tue Mar 27 06:02:01 UTC 2018
Tue Mar 27 06:03:01 UTC 2018
Tue Mar 27 06:04:01 UTC 2018
Tue Mar 27 06:05:01 UTC 2018
Tue Mar 27 06:06:01 UTC 2018

--

现在来详解下这个计划任务

# m h  dom mon dow   command
* * * * * date >> /home/vagrant/time.log

在你成功设置好了自己的计划任务时候,也就会理解它的作用

仔细看其中的参数

# m h  dom mon dow  command

  m 分钟 0-59

  h 小时 0-23

  dow 天1-31

  mon 月 1-12

  dow  星期 1-6  0表示星期天

  command 就是要执行的命令

--

直接看可能太不容易理解了。

举几个例子就会明白

  1: 每1分钟执行一次command

     命令:* * * * * command

  2:每小时的第3和第15分钟执行

       命令:3,15 * * * * command

3:在上午8点到11点的第3和第15分钟执行

     命令:3,15 8-11 * * * command

   4:每隔两天的上午8点到11点的第3和第15分钟执行

     命令:3,15 8-11 */2 * * command

  5:每个星期一的上午8点到11点的第3和第15分钟执行

     命令:3,15 8-11 * * 1 command

  6:每晚的21:30重启smb

     命令:30 21 * * * /etc/init.d/smb restart

   7:每月1、10、22日的4 : 45重启smb

     命令:45 4 1,10,22 * * /etc/init.d/smb restart

  8:每周六、周日的1 : 10重启smb

     命令:10 1 * * 6,0 /etc/init.d/smb restart

  9:每天18 : 00至23 : 00之间每隔30分钟重启smb

     命令:0,30 18-23 * * * /etc/init.d/smb restart

  10:每星期六的晚上11 : 00 pm重启smb

     命令:0 23 * * 6 /etc/init.d/smb restart

   11:每一小时重启smb

     命令:* */1 * * * /etc/init.d/smb restart

   12:晚上11点到早上7点之间,每隔一小时重启smb

     命令:* 23-7/1 * * * /etc/init.d/smb restart

  13:每月的4号与每周一到周三的11点重启smb

     命令:0 11 4 * mon-wed /etc/init.d/smb restart

  14:一月一号的4点重启smb

     命令:0 4 1 jan * /etc/init.d/smb restart

  15:每小时执行/etc/cron.hourly目录内的脚本

     命令:01   *   *   *   *     root run-parts /etc/cron.hourly

--

里面包含了很多常用的Cron,需要时在回来补充。

关于Cron,还有许多的用法,在之后学习和工作中有理解的话在回来补充。

--

参考:

  https://www.cnblogs.com/shuaiqing/p/7742382.html

  https://www.linuxidc.com/Linux/2013-05/84770.htm

--

2018/03/27 每日一个Linux命令 之 cron的更多相关文章

  1. 2018/03/08 每日一个Linux命令 之 chattr/lsattr

    每日一个Linux命令 2018-03-08 Linux 命令 chattr/lsattr chattr [-参数] [+/-属性] [文件或者目录] 经过今天没有对铃,粥熬糊了,我就知道...... ...

  2. 2018/03/07 每日一个Linux命令 之 cat

    每日一个Linux命令 2018-03-07 Linux 命令 cat cat [-参数] fileName 在之前的Linux使用中 cat 命令一直作为文本输出指令来使用,很少可以深入学习的该命令 ...

  3. 2018/03/11 每日一个Linux命令 之 top

    每日一个Linux命令 之 top   今天在公司测试服务器上跑了一个我写的功能[本地测试过的],但是不知道怎么跑了个无限死循环出来,一个文件的体积在不停的变大,如果不管的话这能行? 上去一看,PHP ...

  4. 2018/03/10 每日一个Linux命令 之 find

    每日一个Linux命令 2018-03-10 Linux 命令 find find [查找目录] [定义条件]   今天很累了,本来不想写了,但想到自己订的学习计划必须坚持下去,每天完成.   fin ...

  5. 2018/03/10 每日一个Linux命令 之 cksum

    每日一个Linux命令 2018-03-10 Linux 命令 cksum cksum [文件]  今天楼下的一个大妈去世了,不仅感叹,现如今,真的和以前不一样了,楼上楼下都不知道住的是谁? cksu ...

  6. 2018/03/09 每日一个Linux命令 之 chgrp/chown

    每日一个Linux命令 2018-03-09 Linux 命令 chgrp/chown chgrp [-参数] [文件或者目录] chown [-参数] [文件所有者]:[文件所属群组] [文件或者目 ...

  7. 2018/03/31 每日一个Linux命令 之 date

    date 命令主要用于查看和修改时间和时区 -- 这里主要学习基本的查看和设置时间和时区的方法. 直接显示日期 date '+%D' 效果 vagrant@hong:~$ date '+%D' 03/ ...

  8. 2018/03/23 每日一个Linux命令 之 sed

    官方定义: Linux sed命令是利用script来处理文本文件. sed可依照script的指令,来处理.编辑文本文件. Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等 ...

  9. 2018/03/25 每日一个Linux命令 之 df

    Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计. 就像在windows下打开我的电脑一样会统计各个磁盘一样的情况 主要用于查看磁盘空间占用情况 -- [@hong:~] ...

随机推荐

  1. 在SELECT DISTINCT 状况下使用 Order BY Newid() 随机数选出记录

    在日常作业中,有时候可能是一些活动要抽出得奖人或选出抽查的一些名单, 就常常会使用到 Order BY Newid() 的方式来做随机数选出, 但有可能的状况需是要搭配到 DISTINCT 来选出,这 ...

  2. Ansible Playbook 简介

    我们去远程执行命令时要使用 command 模块,拷贝文件时要使用 copy 模块,如果我们要操作的东西很多,那就要执行很多条不同模块的命令Playbook 是一个 yaml 配置文件,我们可以把不同 ...

  3. Servlet基本用法(二)接口和类

    一.摘要 本文主要简单介绍开发Servlet需要用到的接口和类. 二.ServletRequest和ServletResponse接口 当客户请求到来时,由容器创建一个ServletRequest对象 ...

  4. uefi安装win7,deepin15双系统后grub没有windows选项

    本帖最后由 873792861 于 2015-12-23 16:17 编辑 如题,首先电脑是GPT+uefi的,电脑上安装有64位的win7.用U盘工具制造好驱动U盘后,在安装时选择 专家模式 ,选择 ...

  5. Android开发训练之第五章第三节——Transferring Data Without Draining the Battery

    Transferring Data Without Draining the Battery GET STARTED DEPENDENCIES AND PREREQUISITES Android 2. ...

  6. 【SpringBoot整合Elasticsearch】SpringBoot整合ElasticSearch

    一.Linux下安装ElasticSearch 1.检测是否安装了Elasticsearch ps aux |grep elasticsearch 2.安装JDK 3.下载Elasticsearch ...

  7. CF 455A Boredom

    A. Boredom time limit per test 1 second memory limit per test 256 megabytes input standard input out ...

  8. Egret动态设置按钮的图片

    参考: 动态设置Button按钮的状态图片 按钮有3个状态,up down disabled.这里区别于source,source.down,source.disabled,而是每个状态单独一个ima ...

  9. Android电话拨号器_06

    在Android模拟器中开发时,有时需要模拟拨打电话功能,由于模拟器不能直接当做真机使用,所以我们需要再模拟器中模拟真机拨打电话,首先需要创建两个模拟器,当做两部Android手机来使用.由于Andr ...

  10. 【CF917D】Stranger Trees 树形DP+Prufer序列

    [CF917D]Stranger Trees 题意:给你一棵n个点的树,对于k=1...n,问你有多少有标号的n个点的树,与给出的树有恰好k条边相同? $n\le 100$ 题解:我们先考虑容斥,求出 ...