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. 获取预制和获取gameObject

    using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEditor; pu ...

  2. pip导出安装包及批量安装

    python导出安装包及版本 pip freeze > requirements.txt 批量安装pip install -r requirements.txt

  3. flask实现简单的接收json返回json的接口

    结合http://docs.jinkan.org/docs/flask/quickstart.html#a-minimal-application这个flask文档实现 #!/usr/bin/pyth ...

  4. ARM9通过NFS挂载根文件系统

    当开发板启动以后可以通过在超级终端发送命令来配置NFS. 首先得给开发板一个IP地址,用下面的命令配置即可: #ifconfig 192.168.0.10 经过上面的配置以后在各自的终端中应该都能PI ...

  5. JSPatch 部署安全策略

    本文转载至 http://blog.cnbang.net/tech/2879/ 使用 JSPatch 有两个安全问题: 传输安全:JS 脚本可以调用任意 OC 方法,权限非常大,若被中间人攻击替换代码 ...

  6. java 对 汉字排序(按照拼音字母排序)

    业务场景: 一个list集合,里面add了若干个实体类,针对该实体类排序的属性为String. 使用技术,自定义list排序(JDK自带),重写Comparator接口的compare方法,汉字转拼音 ...

  7. maven默认本地仓库目录

    C:\Users\${姓名}\.m2\repository\

  8. iOS - AVAudioSession详解

    音频输出作为硬件资源,对于iOS系统来说是唯一的,那么要如何协调和各个App之间对这个稀缺的硬件持有关系呢? iOS给出的解决方案是"AVAudioSession" ,通过它可以实 ...

  9. 当本机通过代理服务器上网时,本机无法打开在本机上的虚拟机(oracle vm)linux系统上的网站,但是局域网里的其他机器却可以打开

    当本机通过代理服务器上网时,本机无法打开在本机上的虚拟机(oracle vm)linux系统上的网站,但是局域网里的其他机器却可以打开. 只有取消代理,本机才能访问其虚拟机linux系统上的网站

  10. 【变态问题】在发现“XXXX”类型前实体框架已使用默认 DbConfiguration 实例。

    今天在调试MVC反射调用EF写的dll 一直报错如下: 在发现“VipHallDbConfiguration”类型前实体框架已使用默认 DbConfiguration 实例.“VipHallDbCon ...