crontab定时任务配置记录
一、前言
今天简单记录下crontab的配置
二、crontab目录
/etc/crontab 文件
这是系统运行的调度任务 /var/spool/cron 目录
用户自定义的crontab任务放在此目录下 ls –lrt /etc/cron*
/etc/cron.deny 表示不能使用crontab命令的用户
/etc/cron.allow 表示能使用crontab命令的用户
默认情况下,cron.allow不存在,如果都存在,cron.allow优先
三、crontab命令语法
具体可 crontab --help 或者 man crontab|more crontab –l //查看当前用户的定时任务
crontab –e //编辑当前用户的定时任务
crontab –r //删除当前用户的定时任务
四、crontab任务格式
59 23 * * * /home/xxx/crontab/test.sh > /dev/null 2>&1 & 前6列暂且用C1 - C6表示 C1 分 (1-59,0表示整点)
C2 时 (1-23,0表示子夜)
C3 日 (1-31)
C4 月 (1-12)
C5 星期 (0-6,0表示星期天,1表示星期一,以此类推)
C6 要运行的命令 前5列表示 命令执行的频率,最小频率是每分钟一次,其中Cn的值可用四种形式表示:
* , */n , T1-T2 , a,b,c 当C1 为 * 时,表示每分钟都要执行命令
当C1 为 */n时,表示每隔n分钟执行一次命令
当C1 为 T1-T2时,表示从 T1分钟 到 T2分钟时间内都要执行命令
当C1 为 a,b,c 时,表示第 a,b,c 分钟都要执行命令 示例调用: 12 12 * * * /home/xxx/crontab/test.sh >/dev/null 2>&1
表示每天的12点12分 执行脚本 */2 * * * * /home/xxx/crontab/test.sh >/dev/null 2>&1
表示每隔2分钟 执行一次脚本 0 23 * * 1-5 /home/xxx/crontab/test.sh >/dev/null 2>&1
表示每周一到周五的23点 执行一次脚本 0 19 * * 0 mail -s "xxx" xxx@mail.com < /tmp/maildata
表示每周日的19点 发送邮件到 xxx@mail.com
五、关于命令的说明
关于命令中 /dev/null 2>&1 的解释 0 表示键盘输入
1 表示标准输出
2 表示错误输出 1.创建test.sh,内容如下 #! /bin/bash
echo "time is " `date` 2.添加定时任务 * * * * * /home/xxx/crontab/test.sh > /home/xxx/crontab/test.log & 默认是1,和下面方法一致
* * * * * /home/xxx/crontab/test.sh 1> /home/xxx/crontab/test.log &
* * * * * /home/xxx/crontab/test.sh > /home/xxx/crontab/test.log 2>&1 & 3.说明 1代表,标准输出,所以上述命令会将脚本的输出结果,输出到后面指定的log文件中,而不是打印到屏幕;
2代表,错误输出,&1表示文件的描述,这里表示脚本执行的错误信息重定向到1(标准输出)
而1已经重定向到指定的log文件中,所以信息都会输出到log文件
不能写成 2>1 ,缺少&,会认为是错误信息输出到名称为 1 文件中
六、注意事项
1.shell中需设置必要的环境变量
crontab的环境变量默认不包含系统当前用户的环境,所以需添加必要的环境变量 2.尽量采用完整路径方法,避免使用相对路径 3.避免脚本的重复执行
if(exec("ps -ef |grep 'php'|grep 'updateScript'|grep -v 'grep' |wc -l ") > 2){
die();
} grep -v 'grep' 表示结果去过滤掉 grep 那一行
wc -l 表示统计满足条件的行数
这样就可以判断 php进程中,名为 updateScript 的脚本 是否已经执行了
七、参考资料
http://www.cnblogs.com/kerrycode/p/3238346.html
http://www.cnblogs.com/hazir/p/sudo_command.html
crontab定时任务配置记录的更多相关文章
- 【Python】Linux crontab定时任务配置方法(详解)
CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使用它在 ...
- Crontab定时任务配置
CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使用它在 ...
- 【转】Crontab定时任务配置
原文出处:http://www.cnblogs.com/kerrycode/p/3238346.html CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读 ...
- crontab定时任务写法记录
基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示 第2列表示小时1-23(0表示0点) 第3列表示日期1-31 第4列表示 ...
- 使用linux下的crontab定时任务跑定时脚本
使用linux下的crontab定时任务跑定时脚本 tags:定时任务 定时脚本 crontab linux定时脚本 linux 引言:应该有许多人曾经很好奇一些定时脚本是怎么做出来的.我们这次就来说 ...
- linux crontab定时任务运行shell脚本(shell执行sql文件)
https://www.cnblogs.com/tiankongjava/p/6106743.html 今天做个linux定时任务(每晚12点把表汇总). 顺便写个博客记录一下~~ 为什么用linux ...
- linux crontab定时任务调用CI框架PHP代码
*****监控项目中使用*****: sudo crontab -u wangyan -e i 5,25,45 * * * * wget http://xxx.xxx.com/xxx/xx Esc : ...
- Linux Crontab 定时任务 命令详解
一. Crontab 介绍 crontab命令的功能是在一定的时间间隔调度一些命令的执行. 1.1 /etc/crontab 文件 在/etc目录下有一个crontab文件,这里存放有系统运行的一些调 ...
- 如何查看crontab的日志记录
在Unix和类Unix的操作系统之中,crontab命令常用于设置周期性被执行的指令,也可以理解为设置定时任务. crontab中的定时任务有时候没有成功执行,什么原因呢?这时就需要去日志里去分析一下 ...
随机推荐
- 一个比较完整的Inno Setup 安装脚本(转)
一个比较完整的Inno Setup 安装脚本,增加了对ini文件设置的功能,一个安装包常用的功能都具备了. [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相 ...
- java代码性能优化总结(转载)
原文链接:http://developer.51cto.com/art/201511/496263.htm 前言 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改 ...
- 友盟分享SDK集成步骤
1.官方注册appID. 2.menifest添加和声明umeng相关的activity以及appKey. 3. // 首先声明一个controller变量,由友盟服务工厂类直接取得友盟社交服务. m ...
- Cable master poj1064(二分)
http://poj.org/problem?id=1064 题意:共有n段绳子,要求总共被分为k段.问在符合题意的前提下,每段长最大是多少? #include <iostream> #i ...
- 第二章 ZAB协议介绍
ZAB ( ZooKeeper Atomic Broadcast , ZooKeeper 原子消息广播协议)是zookeeper数据一致性的核心算法. ZAB 协议并不像 Paxos 算法那样,是一种 ...
- UIWebView加载页面
在页面中 加载了一个webView 当点击该webView的页面 需要获取webView中的url. 在push出来的另一个页面中,重新初始化一个webView加载 下面这个方法 在webView加载 ...
- Java泛型总结(转)
本文是转载,原文链接:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html 一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: ...
- MySQL~ IN , FIND_IN_SET , LIKE
MySQL- IN , FIND_IN_SET , LIKE SELECT * FROM test where area IN (1, 2, 3); SELECT * FROM test where ...
- [VBS]脚本中的字典、动态数组、队列和堆栈
今天用VBS脚本写了几个程序,用到了字典(Dictionary).动态数组(ArrayList).队列(Queue)和堆栈(Stack).现在写篇Blog总结一下 :-) 1.编写环境 今天突发奇想下 ...
- js中判断输入的数字是否是数值类型
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 30.0px Consolas; color: #2b7ec3 } p.p2 { margin: 0.0px ...