一、前言

  今天简单记录下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

最新文章

  1. potrace源码分析一
  2. web.Config配置数据库的连接
  3. QuickFix/J 源代码
  4. 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用
  5. 声明、定义 in C++
  6. Ugly Numbers
  7. LAMP整理
  8. bzoj 3196/tyvj p1730 二逼平衡树
  9. Windows Azure 微软公有云体验(一) 网站、SQL数据库、虚拟机
  10. lucene做简单的文件索引
  11. ubuntu 14.04—解决软件中心进度条卡死的问题
  12. 百度将与W3C中国召开MIP技术研讨会
  13. [菜鸟弄nginx]nginx ---- 同一个server下根据host 配置不同的error_page页
  14. springMVC简单的一些操作
  15. CentOS系统下搭建tomcat服务器
  16. tedu训练营day02
  17. java递归算法提前返回值带出
  18. Zabbix系列之六——添加web监测
  19. Python_复习_习题_29
  20. 田螺便利店—ipconfig命令不是内部命令或外部命令怎么解决?

热门文章

  1. [2015hdu多校联赛补题]hdu5302 Connect the Graph
  2. step6-----&gt;往工程中添加spring boot项目-------&gt;修改pom.xml使得我的project是基于spring boot的,而非直接基于spring framework
  3. NSMutableAttributedString(改变文字颜色)
  4. C#拼接地图瓦片
  5. Debussy与modelsim联仿时 do 文件脚本
  6. DUILIB 背景贴图
  7. python学习-异常处理
  8. iOS中两个APP之间的跳转和通信
  9. php匹配中文代码(字符串中包含中文或者全是中文)
  10. HighChats报表使用C#mvc导出本地图片