2018/03/27 每日一个Linux命令 之 cron
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的更多相关文章
- 2018/03/08 每日一个Linux命令 之 chattr/lsattr
每日一个Linux命令 2018-03-08 Linux 命令 chattr/lsattr chattr [-参数] [+/-属性] [文件或者目录] 经过今天没有对铃,粥熬糊了,我就知道...... ...
- 2018/03/07 每日一个Linux命令 之 cat
每日一个Linux命令 2018-03-07 Linux 命令 cat cat [-参数] fileName 在之前的Linux使用中 cat 命令一直作为文本输出指令来使用,很少可以深入学习的该命令 ...
- 2018/03/11 每日一个Linux命令 之 top
每日一个Linux命令 之 top 今天在公司测试服务器上跑了一个我写的功能[本地测试过的],但是不知道怎么跑了个无限死循环出来,一个文件的体积在不停的变大,如果不管的话这能行? 上去一看,PHP ...
- 2018/03/10 每日一个Linux命令 之 find
每日一个Linux命令 2018-03-10 Linux 命令 find find [查找目录] [定义条件] 今天很累了,本来不想写了,但想到自己订的学习计划必须坚持下去,每天完成. fin ...
- 2018/03/10 每日一个Linux命令 之 cksum
每日一个Linux命令 2018-03-10 Linux 命令 cksum cksum [文件] 今天楼下的一个大妈去世了,不仅感叹,现如今,真的和以前不一样了,楼上楼下都不知道住的是谁? cksu ...
- 2018/03/09 每日一个Linux命令 之 chgrp/chown
每日一个Linux命令 2018-03-09 Linux 命令 chgrp/chown chgrp [-参数] [文件或者目录] chown [-参数] [文件所有者]:[文件所属群组] [文件或者目 ...
- 2018/03/31 每日一个Linux命令 之 date
date 命令主要用于查看和修改时间和时区 -- 这里主要学习基本的查看和设置时间和时区的方法. 直接显示日期 date '+%D' 效果 vagrant@hong:~$ date '+%D' 03/ ...
- 2018/03/23 每日一个Linux命令 之 sed
官方定义: Linux sed命令是利用script来处理文本文件. sed可依照script的指令,来处理.编辑文本文件. Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等 ...
- 2018/03/25 每日一个Linux命令 之 df
Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计. 就像在windows下打开我的电脑一样会统计各个磁盘一样的情况 主要用于查看磁盘空间占用情况 -- [@hong:~] ...
随机推荐
- SaltStack Grains 和 Pillar
Grains: (1) grains 是服务器的一系列粒子信息,也就是服务器的一系列物理,软件环境信息(2) grains 是 minion 启动时收集到的一些系统信息,比如操作系统版本.内核版本.C ...
- MyBatis批量更新for Mysql 实例
<update id="UpdatePwd" parameterType="java.util.List"> UPDATE FP_USER_BASE ...
- React Native 开发工具篇
正文 概述:开发RN的工具有很多,选择性也比较多,比如Facebook专门为React开发的IDE:Nuclide,还有做前端比较熟悉的WebStorm.Sublime Text 3.VS Code等 ...
- PHP MYSQL 分表方法
function get_hash_table($table,$uid){ $_str = crc32($uid); if($_str < 0 ){ $ret = "0".s ...
- django rest framwork教程之 viewsets和routers
ViewSets 和Routers REST框架包括一个用于抽象处理的ViewSets,允许开发人员集中精力对API的状态和交互进行建模,并根据常见约定自动处理URL构造. Viewset 类和 Vi ...
- 【WinForm程序】注册热键快捷键切换
重写DefWndProc事件 #region Window 消息捕获 const int WM_COPYDATA = 0x004A; public struct COPYDATASTRUCT { pu ...
- spring基础---->请求与响应的参数(一)
这里面我们主要介绍一下spring中关于请求和响应参数数据的问题.爱,从来就是一件千回百转的事.不曾被离弃,不曾受伤害,怎懂得爱人?爱,原来是一种经历. spring中的请求与响应 一.spring中 ...
- 【Spring源码分析系列】搭建Spring实现容器的基本实现
前言 bean是Spring中最核心的东西,因为Spring就像一个大水桶,而bean就像是容器中的水,先新建一个小例子来看一下: 一.使用eclipse构建项目,项目结构如下 二.类文件内容 < ...
- scanf printf gets() puts(),cin cout
最近在练机试题,常用的C和C++输入输出如下: 1 scanf 和printf int a; scanf("%d",&a) ; printf("%d", ...
- angularjs结合html5的拖拽行为
闲聊: 小颖公司的项目之前要实现一个将左侧树中当前拖拽的内容,动态添加到右侧树种,虽然这个模块当时没有分给小颖,是同事完成的(小颖也不会嘻嘻),后来看了下他写代码,小颖自己写了个小demo.就当做个笔 ...