crontab 配置文件 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # .- minute (0 59) # |.- hour (0 23) # ||.- day of month (1 31) # |||.- month (1 12) OR jan,feb,mar,apr # ||||.- day of week (0 6) (Sunday=0 or 7)OR

crontab 配置文件

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# .—————- minute (0 – 59) 
# |  .————- hour (0 – 23)
# |  |  .———- day of month (1 – 31)
# |  |  |  .——- month (1 – 12) OR jan,feb,mar,apr … 
# |  |  |  |  .—- day of week (0 – 6) (Sunday=0 or 7)  OR
#sun,mon,tue,wed,thu,fri,sat 
# |  |  |  |  |
# m h dom mon dow command
# *  *  *  *  *  command will be executed

例如:

*/5 * * * * root /usr/libexec/atrun

minute(m)      :  代表一小时内的第几分,范围 0-59。 
hour    (h)       :  代表一天中的第几小时,范围 0-23。 
mday  (dom)  :  代表一个月中的第几天,范围 1-31。 
month(mon)  :   代表一年中第几个月,范围 1-12。 
wday  (dow)  :   代表星期几,范围 0-7 (0及7都是星期天)。 
who                    :   要使用什么身份执行该指令,当您使用 crontab -e 时,不必加此字段。 
command(command):所要执行的指令。

crond 开机启动

crond 启动/关闭脚本

/etc/init.d/crond help
Usage: /etc/init.d/crond {start|stop|status|restart|condrestart|try-restart|reload|force-reload}

crond 加入到开机启动

chkconfig crond on

crontab定时任务不执行问题

排查原因步骤如下:

首先,确认服务器是否开启定时任务计划服务,只有root用户才能对crond服务进行开启和关闭

[root@mimvp-bj script]# service crond status
crond is stopped
[root@mimvp-bj script]# service crond start
Starting crond:                                            [  OK  ]
[root@mimvp-bj script]# service crond status
crond (pid  24577) is running…

请确保crond状态为 is running…

如果crond状态为 crond is stopped ,则定时任务服务不会生效故无法执行,我遇到的crontab不执行就是这个原因

crontab 常见错误的几个问题

编辑 crontab :
crontab -e

# m h  dom mon dow   command
SHELL=/bin/bash
30 * * * * cd /home/barry/top800/top10/top10_fruits/ && ./top10_all.sh

Ctrl + O (写入)——》 Enter键(保存文件名)——》 Ctrl + X(退出)

输入查看命令:

crontab -l

# m h  dom mon dow   command
SHELL=/bin/bash
30 * * * * cd /home/barry/top800/top10/top10_fruits/ && ./top10_all.sh(推荐用此方式)

如果遇到shell语法错误

<code style="padding: 0px; margin: 0px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;"><span class="typ" style="padding: 0px; margin: 0px; color: rgb(102, 0, 102); border: 0px; vertical-align: baseline;"><span class="typ" style="padding: 0px; margin: 0px;">Syntax</span></span><span class="pln" style="padding: 0px; margin: 0px; border: 0px; vertical-align: baseline;"><span class="pln" style="padding: 0px; margin: 0px;"> error</span></span><span class="pun" style="padding: 0px; margin: 0px; color: rgb(102, 102, 0); border: 0px; vertical-align: baseline;"><span class="pun" style="padding: 0px; margin: 0px;">:</span></span><span class="pln" style="padding: 0px; margin: 0px; border: 0px; vertical-align: baseline;"><span class="pln" style="padding: 0px; margin: 0px;"> </span></span><span class="str" style="padding: 0px; margin: 0px; color: rgb(0, 136, 0); border: 0px; vertical-align: baseline;"><span class="str" style="padding: 0px; margin: 0px;">"("</span></span><span class="pln" style="padding: 0px; margin: 0px; border: 0px; vertical-align: baseline;"><span class="pln" style="padding: 0px; margin: 0px;"> unexpected  </span></span></code>

解决方法:

需指定shell解释器命令:SHELL=/bin/bash(请参见上面 crontab编辑示例SHELL=/bin/bash)

或者参见: LINUX – BASH Syntax Error

如果遇到路径错误

在 /var/spool/crontab/yanggang 中,添加了如下命令,在日志文件 /var/spool/mail/yanggang 中提示找不到 xxx.sh 路径

30 * * * *  /home/barry/top800/top10/top10_fruits/top10_all.sh

30 * * * * bash /home/barry/top800/top10/top10_fruits/top10_all.sh

这是因为你在crontab中使用了绝对路径执行脚本 top10_all.sh,因此在脚本 top10_all.sh 中引用的其它脚本也都需要使用绝对路径,才能被crontab找到并执行。

那么该如何避免绝对路径呢,推荐采用如下格式:

30 * * * * cd /home/barry/top800/top10/top10_fruits/ && ./top10_all.sh(推荐用此方式)

先进入该目录,然后在执行脚本;否则,执行脚本中的其它脚本都需要加绝对路径
原文:http://blog.mimvp.com/2015/03/centos-crontab-task-does-not-regularly-perform-solution/

转载请保留固定链接: http://www.linuxeye.com/Linux/2248.html

CentOS crontab定时任务不执行的解决相关推荐

  1. 【Linux】23.ubuntu定时执行脚本/etc/crontab 和 定时任务不执行的解决办法

    ubuntu定时执行脚本/etc/crontab 和 定时任务不执行的解决办法 定时任务失效的问题: 如果发现/etc/crontab中的定时任务没执行,可以使用/etc/init.d/cron st ...

  2. linux怎么查看定时任务有没有运行,怎么看crontab定时任务是否执行

    定时执行操作命令,每一个用户拥有自己的crontab,那么大家知道怎么看crontab定时任务是否执行呢?接下来大家跟着学习啦小编一起来了解一下的看crontab定时任务是否执行解决方法吧. 看cro ...

  3. crontab定时任务不执行的原因

    我在网上找的时候发现网上主要说了这5个原因: 1 crond服务未启动 crontab不是Linux内核的功能,而是依赖一个crond服务,这个服务可以启动当然也可以停止.如果停止了就无法执行任何定时 ...

  4. crontab定时任务不执行,并且没有收到错误信息邮件

    现象: crontab中定义的msqldump定时任务不能执行,没有收到错误信息邮件,查看日志/var/log/cron显示如下 CROND[15777]: (root) MAIL (mailed 3 ...

  5. Linux crontab 定时任务没执行,没收到错误信息邮件

    crond 定时任务 没执行,简单的打印日期,reboot 命令 等也没执行成功(语法确保没错).捣鼓一整算是有些进展. centos7 不过这个好像没啥问题吧.. 分割线-------------- ...

  6. crontab mysql 不执行_crontab定时任务不执行

    系统是centos,发现crontab定时任务不执行 登录系统用手工执行脚本就可以 其它如crontab配置文件没有对用户做限制, 脚本权限也赋予执行,用root账户执行,但是最后还是不行, 请各位大 ...

  7. 【Linux】crontab 定时任务 遇到几个问题

    文章目录 cron 与 crontab 区别 bash xxx.sh 可以执行,但是crontab定时任务不执行,也没有报错信息,无日志: 首先区分 crontab -e 和 /etc/crontab ...

  8. _CentOS「linux」学习笔记11:crontab定时任务常用参数和基本语法

    ​linux基础操作:主要介绍了crontab定时任务的常用参数和基本语法 crontab[定时任务,重复执行特定的命令或脚本,类似Windows下的计划任务] crontab常用参数和基本语法介绍: ...

  9. 解决crontab定时任务多次执行

    今天使用linux crontab定时任务时,可能由于配置不妥,任务多执行一次,如下是我程序的日志记录(执行了两次,我设置的是每分钟执行1次) 解决如下 重启crontab,service cron ...

最新文章

  1. Windowsx64位安装pymssql并完成与数据库链接
  2. 周计划1[7.22~7.28]
  3. WVI职业价值观测量表
  4. python教程七牛云_python-django框架中使用七牛云
  5. 微软总裁呼吁:AI刷脸,美国政府该管一管了
  6. linux常用命令集(用户和组操作-共15个)
  7. hydra怎么构建字典_在Pytorch中构建流数据集
  8. 记一次centos 7.3下的steam安装(该“STEAM”软件为美国valve开发的游戏平台)
  9. Linux命令 - tar命令
  10. 用计算机制作母亲贺卡,综合实践——用hotoshop7.0制作母亲节贺卡(教学设计)__陈素琴.doc...
  11. CTF逆向(Reverse)知识点总结
  12. android平台支付宝快捷支付
  13. Android字符设备驱动开发基于高通msm8916【原创 】
  14. c程序语言难么,c语言难不难
  15. 使用Python将微信和支付宝账单导入随手记
  16. 在B站,没有什么是不能搞CP的
  17. edg击败we视频_超神圣枪无情屠杀 EDG击败WE全取三分
  18. 20154322杨钦涵 Exp6 信息搜集与漏洞扫描
  19. 什么是空指针?如何从根源避免空指针
  20. varargin、varargout、nargin和nargout的使用方法

热门文章

  1. jsp mysql视频_手把手教你做jsp servlet mysql实现的图书管理系统附带视频开发教程和完整源码...
  2. Cloudera Manager 和CDH6.0.1安装,卸载,各步骤截图(此博文为笔者辛苦劳作最终生成的,使用了3个熬到凌晨2~4点的夜晚,外加一个周末完成,请转载时记录转载之处,谢谢)
  3. fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤)转自:http://blog.csdn.net/notejs/article/
  4. Spark-sql:以编程方式执行Spark SQL查询(通过反射的方式推断出Schema,通过StrutType直接指定Schema)
  5. 网络WIFI摄像机方案主控芯片最全介绍
  6. 深入浅出设计模式原则之单一原则(SRP)
  7. [译]Go如何优雅的处理异常
  8. linux下硬盘的安装及分区fdisk
  9. apache+mod_wsgi+django的环境配置
  10. 《C语言编程魔法书:基于C11标准》——第一篇 预备知识篇 第1章 C魔法概览1.1 例说编程语言...