ubuntu下使用crontab定时器
crontab 定时工具(周期性执行的任务列表称为Cron Table),其中每一个任务,被称为Cron Job。
可以,每分钟执行,每小时执行,每天执行,每周执行,每月执行。
检查服务
1.查看任务
jiqing@ubuntu:~/桌面$ sudo crontab -l
no crontab for root
2.查看服务
jiqing@ubuntu:~/桌面$ sudo service cron status
cron start/running, process 1163
jiqing@ubuntu:~/桌面$ sudo service cron restart
cron stop/waiting
cron start/running, process 20296
安装服务
jiqing@ubuntu:~/桌面$ sudo apt-get install cron
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
gstreamer0.10-plugins-ugly liba52-0.7.4 libdvdnav4 libdvdread4 libmad0
libmp3lame0 libmpeg2-4 libopencore-amrnb0 libopencore-amrwb0 libsidplay1
libtwolame0 libx264-142 linux-image-extra-4.4.0-31-generic
Use 'apt-get autoremove' to remove them.
建议安装的软件包:
checksecurity exim4 postfix mail-transport-agent
下列【新】软件包将被安装:
cron
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 7 个软件包未被升级。
需要下载 81.0 kB 的软件包。
解压缩后会消耗掉 301 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu/ trusty/main cron i386 3.0pl1-124ubuntu2 [81.0 kB]
下载 81.0 kB,耗时 1秒 (40.5 kB/s)
正在选中未选择的软件包 cron。
(正在读取数据库 ... 系统当前共安装有 269953 个文件和目录。)
正准备解包 .../cron_3.0pl1-124ubuntu2_i386.deb ...
正在解包 cron (3.0pl1-124ubuntu2) ...
正在处理用于 man-db (2.6.7.1-1ubuntu1) 的触发器 ...
正在处理用于 ureadahead (0.100.0-16) 的触发器 ...
正在设置 cron (3.0pl1-124ubuntu2) ...
cron start/running, process 22657
设置任务
>
是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节);
>>
这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。
crontab -e
# m h dom mon dow command
*/1 * * * * date >> ~/time.log
每分钟,将执行一次。将日期写入log中。
jiqing@ubuntu:~$ cat time.log
2018年 04月 17日 星期二 17:13:01 CST
2018年 04月 17日 星期二 17:14:01 CST
2018年 04月 17日 星期二 17:15:01 CST
2018年 04月 17日 星期二 17:16:01 CST
2018年 04月 17日 星期二 17:17:01 CST
前5个部分表示何时执行命令,最后一个部分表示执行的命令。每个部分以空格分隔,除了最后一个部分(命令)可以在内部使用空格之外,其他部分都不能使用空格。前5个部分分别代表:分钟,小时,天,月,星期,每个部分的取值范围如下:
分钟 0 - 59
小时 0 - 23
天 1 - 31
月 1 - 12
星期 0 - 6 0表示星期天
除了这些固定值外,还可以配合星号(*),逗号(,),和斜线(/)来表示一些其他的含义:
星号 表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
逗号 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
斜线 一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 */2 代表每隔两分钟。所以 */1 和 * 没有区别,*/2 可以看成是能被2整除的任意值。
以下是一些例子(省略了命令部分):
* * * * * # 每隔一分钟执行一次任务
0 * * * * # 每小时的0点执行一次任务,比如6:00,10:00
6,10 * 2 * * # 每个月2号,每小时的6分和10分执行一次任务
*/3,*/5 * * * * # 每隔3分钟或5分钟执行一次任务,比如10:03,10:05,10:06
jiqing@ubuntu:~$ tail -f time.log
2018年 04月 17日 星期二 17:18:01 CST
2018年 04月 17日 星期二 17:19:01 CST
2018年 04月 17日 星期二 17:20:01 CST
2018年 04月 17日 星期二 17:21:01 CST
2018年 04月 17日 星期二 17:22:01 CST
2018年 04月 17日 星期二 17:23:01 CST
2018年 04月 17日 星期二 17:24:01 CST
2018年 04月 17日 星期二 17:25:01 CST
2018年 04月 17日 星期二 17:26:01 CST
2018年 04月 17日 星期二 17:27:01 CST
2018年 04月 17日 星期二 17:28:01 CST
可以通过tail -f实时监控文本日志。
若在crontab中写了如下的一个任务:
0 6 * * * echo “Good morning.“//注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了
可以把这个输出重定向到另外一个标准输出文件中,比如说重定向输出到一个txt文件中
0 6 * * * echo “Good morning.” >> /tmp/test.txt
新建一个php任务。
*/1 * * * * php /home/wwwroot/default/test/test.php >> ~/phptime.log
php中的代码,
<?php
echo date('Y-m-d H:i:s')."\n";
?>
jiqing@ubuntu:/home/wwwroot/default/test$ tail -f ~/phptime.log
2018-04-17 17:39:01
2018-04-17 17:40:01
2018-04-17 17:41:01
2018-04-17 17:42:01
有反应哦。
ubuntu下使用crontab定时器的更多相关文章
- Ubuntu下使用crontab部署定时任务
Ubuntu下使用crontab部署定时任务 安装cron apt-get install cron 开启crontab日志 默认情况下的日志是没有开启的,我们需要找到 /etc/rsyslog.d/ ...
- ubuntu下使用crontab
创建crontab任务 参考:https://www.cnblogs.com/Icanflyssj/p/5138851.html 3. crontab常用的几个命令格式 crontab -l //显示 ...
- Ubuntu下用crontab 部署定时任务
用php做了一个网站,其中一个统计工能,需要每周定时用行.想看看有什么方法,之前看别人的东西,一般有2中方式,一个是php自带的定时任务,一个是用系统 带的,linux下的crontab和window ...
- Ubuntu下的计划任务 -- cron的基本知识
下面不完全: 参考:http://blog.csdn.net/cuker919/article/details/6336457 cron是一个Linux下的后台进程,用来定期的执行一些任务.因为我用的 ...
- ubuntu下crontab编辑方法的设定
在ubuntu下,首次编辑crontab计划任务的时候,会提示让选择编辑器.由于对nano编辑器不是很熟悉,若是选择nova编辑的话,会有些麻烦.可以重置编辑器,方法如下:[root@wang ~]# ...
- 【linux】ubuntu下crontab无效解决方法
在Debain的docker中启用crontab,踩了一整天的坑,特地记录一下.Debain和ubuntu差不多,故算在ubuntu下面了. 1.第一个坑,安装crontab apt-get inst ...
- Ubuntu下crontab命令的用法
cron是一个Linux下的后台进程,用来定期的执行一些任务.因为我用的是Ubuntu,所以这篇文章中的所有命令也只能保证在Ubuntu下有效,但其他系统应该也差不多. 想要让cron执行你指定的任务 ...
- 如何在win10下使用Ubuntu中的crontab自动执行任务
win10下如何下载ubuntu 1.打开Microsoft Store,搜索ubuntu,选择其一(我选了第一个),点击获取,耐心等待安装即可: 2.安装完成可在开始栏找到: 使用cront ...
- Ubuntu下定时任务和自启动任务的部署
1.定时任务的部署,最简单的方法是执行 crontab -e 然后在下面加上世间周期配置和要执行的命令,一般情况下,可以把要执行的任务用bash脚本封装一下,格式如下所示: minute hour ...
随机推荐
- std list/vector sort 自定义类的排序就是这么简单
所以,自己研究了一下,如下:三种方式都可以,如重写<,()和写比较函数compare_index.但是要注意对象和对象指针的排序区别. 1.容器中是对象时,用操作符<或者比较函数,比较函数 ...
- BZOJ 1058: [ZJOI2007]报表统计 multiset + 卡常
Code: #include<bits/stdc++.h> #define maxn 600000 #define inf 1000000000 using namespace std; ...
- Opencv下双线性插值法进行图像放缩
关于图像放缩的算法有很多,本文主要介绍双线性插值法进行图像放缩,本文参考了: http://www.cnblogs.com/funny-world/p/3162003.html 我们设源图像src的大 ...
- Re0:DP学习之路 数塔 HDU - 2084(基础递推)
解法 首先是输入的问题,输入的时候还要注意每一层都有多少个 然后是怎么求解,一般求解首先要考虑顺序,是正序还是倒序 如果这个题是正序的话那么最终还需要将最后一行进行一次找max的运算 如果是倒序的话那 ...
- JQurey---新尝试
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 关于ISIS协议 CSNP报文的周期更新理解
为何ISIS协议的CSNP报文在MA网络环境中是以周期更新然而在P2P网络环境中只更新一次? 个人通过视频及资料学习理解: 我们知道ISIS的CSNP报文类似OSPF中的DBD报文,作用就是用来确认彼 ...
- 3. Python中的分支判断、循环
本文利用的是Python 3.x版本,建议学习3.x版本 Python中的分支判断.循环 1. 分支条件判断 1.1 比较操作 以下是数之间常见的比较操作,例如5>3就是数学意义上的比较,5是大 ...
- HDU - 6158 The Designer
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6158 本题是一个计算几何题——四圆相切. 平面上的一对内切圆,半径分别为R和r.现在这一对内切圆之间,按 ...
- Leetcode 51.N后问题
N后问题 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案. ...
- [HDU3586]Information Disturbing(DP + 二分)
传送门 题意:给定一个带权无向树,要切断所有叶子节点和1号节点(总根)的联系,每次切断边的费用不能超过上限limit,问在保证总费用<=m下的最小的limit 二分答案,再 DP,看看最终结果是 ...