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中的定时任务有时候没有成功执行,什么原因呢?这时就需要去日志里去分析一下 ...
随机推荐
- 8.11 CSS知识点4
边框样式 1.边框宽度 border-width:medium | thin | thick | length border-top-width 设置上边框宽度 border-bottom-widt ...
- 为什么匿名内部类和局部内部类只能访问final变量
因为虽然匿名内部类在方法的内部,但实际编译的时候,内部类编译成Outer.Inner,这说明内部类所处的位置和外部类中的方法处在同一个等级上,外部类中的方法中的变量或参数只是方法的局部变量,这些变量或 ...
- Continue To DO!
(1)Valid Anagram 解题思路: 使用一个数组,首先遍历S相应位置加1,然后遍历T,判断此时如果相应位置为零返回FALSE,否则就减一.T遍历完毕后返回true. 代码如下: public ...
- 《Linux内核设计与实现》读书笔记 第十七章 设备与模块
一.设备类型 1. Unix系统 - 块设备 - 字符设备 - 网络设备 2. 块设备 通常缩写为blkdev,它是可寻址的,寻址以块为单位,块大小随设备不同而不同:块设备通常支持重定位操作,也就是对 ...
- java自带BASE64工具进行图片和字符串转换
java自带BASE64工具进行图片和字符串转换 import java.io.File; import java.io.FileInputStream; import java.io.FileOut ...
- Decorator(装饰)-对象结构型模式
1.意图 动态地给一个对象添加一些额外的职责.就增加功能来说,Decorator模式相比生成子类更为灵活. 2.别名 包装器 Wrapper. 3.动机 给某个对象而不是整个类添加一些功能.一个较为灵 ...
- libcurl多线程超时设置不安全(转)
from http://www.cnblogs.com/kex1n/p/4135263.html (1), 超时(timeout) libcurl 是 一个很不错的库,支持http,ftp等很多的协议 ...
- iOS开发-xcdatamodeld文件 CoreData的介绍和使用,sqlite的使用
CoreData的介绍和使用 源引:http://www.jianshu.com/p/d027090af00e CoreData是数据存储的一种方式,CoreData实质也是对SQLite的封装. ...
- Selenium2+python自动化9-CSS定位语法
前言 大部分人在使用selenium定位元素时,用的是xpath定位,因为xpath基本能解决定位的需求.css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁.这一篇css ...
- 关于 tomcat nio connector, servlet 3.0 async, spring mvc async 的关系
tomcat 的 org.apache.coyote.http11.Http11NioProtocol Connector 是一个使用 Java NIO 实现的异步 accept 请求的 connec ...