、脚本语法错误

在crontab脚本没有定时执行的时候,首先需要检查脚本的语法有没有出现问题。

2、环境变量问题

有时我们创建了一个crontab,但是这个任务却无法自动执行,而手动执行这个任务却没有问题,这种情况一般是由于在crontab文件中没有配置环境变量引起的。我们在手动执行任务时是在当前shell环境下进行的,程序能够找到环境变量,而系统自动执行任务调度时,是不会加载任何环境变量的。因此,我们需要在shelll脚本中提供所有必要的路径和环境变量。

需要注意的主要有以下三点:

1)脚本中涉及文件路径时写全局路径;

2)脚本执行要用到java或其他环境变量时,通过source命令引入环境变量,如:

1
2
3
4
5
cat start_cbp.sh
#!/bin/sh
source /etc/profile
export RUN_CONF=/home/d139/conf/platform/cbp/cbp_jboss.conf
/usr/local/jboss-4.0.5/bin/run.sh -c mev &

3)当手动执行脚本OK,但是crontab死活不执行时。这时必须大胆怀疑是环境变量惹的祸,并可以尝试在crontab中直接引入环境变量解决问题。如:

1
0 * * * * . /etc/profile;/bin/sh /var/www/java/audit_no_count/bin/restart_audit.sh

3、系统任务调度及用户任务调度

系统任务调度主要完成系统的一些维护操作,用户任务调度主要完成用户自定义的一些任务,可以将用户任务调度放到系统任务调度来完成(不建议这么做),但是反过来却不行,root用户的任务调度操作可以通过“crontab –uroot –e”来设置,也可以将调度任务直接写入/etc/crontab文件,需要注意的是,如果要定义一个定时重启系统的任务,就必须将任务放到/etc/crontab文件,即使在root用户下创建一个定时重启系统的任务也是无效的。

crontab定时任务不执行的解决办法

1、查看crontab执行记录

如果出现了crontab定时任务不执行的情况,首先需要定位问题,那么就需要通过日志来确定问题所在。

crontab的日志位置一般位于/var/log/cron,利用下面的语句即可查看日志。

1
tail -f /var/log/cron

上面的/var/log/cron只会记录是否执行了某些计划的脚本,但是具体执行是否正确以及脚本执行过程中的一些信息linux会通过邮件形式发送到给该用户。
对于root用户该邮件记录位于/var/spool/mail/root,通过以下命令可以查看最近的crontab执行情况。

1
tail -f /var/spool/mail/root

mail邮件一般只会记录脚本执行成功与否,如果执行失败,无法给出进一步的错误信息,这时需要我们将语句执行的错误信息重定向至文件中,这样可以很方便的查看错误信息。下面就给出了一个简单的例子

1
0 6 * * * /root/script/ss.sh >> /root/for_crontab/mylog.log 2>&1

上述语句表示把错误输出和标准输出都输出到mylog.log中,在执行的时候会将命令执行的相关信息记录至mylog.log文件中。

转载于:https://www.cnblogs.com/mengzhijia/p/5359964.html

定时执行失败原因分析相关推荐

  1. 【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( 使用 DexClassLoader 获取组件类失败 | 失败原因分析 | 自定义类加载器没有加载组件类的权限 )

    文章目录 一.使用 DexClassLoader 获取组件类失败报错 二.失败原因分析 一.使用 DexClassLoader 获取组件类失败报错 在上一篇博客 [Android 逆向]启动 DEX ...

  2. RV1108 EMMC 程序下载失败原因分析

    RV1108 EMMC 程序下载失败原因分析 目录 RV1108 EMMC 程序下载失败原因分析 1. 出现的现象 硬件环境 表现出的问题 2. 原因查找 检查硬件 3. rv1108 bootloa ...

  3. Solidworks异型孔打孔失败原因分析

    Solidworks异型孔打孔失败原因分析 在使用异型孔给钣金件打孔时,弹出下面的对话框没有找到有效的用于生成装饰螺纹的边线 原因分析 底孔设置问题,按照正常的钻孔攻螺纹经验,一般材料攻M8的螺纹孔, ...

  4. onload js函数不执行的原因分析及解决方法

    今天打开网站的时候,发现很多页面的信息都没有显示出来,仔细观察了之后,发现都是onload的js函数没有执行的原因.其实之前曾发现过这个情况,我以为是网站出了问题,然后采用多种方法试图让onload的 ...

  5. 梦幻西游 登入不显示服务器失败怎么办,《梦幻西游三维版》登录不进去怎么解决 登录失败原因分析...

    导 读 梦幻西游三维版登录不进去如何解决想必还有不少小伙伴不太清楚,一起往下看九游小编整理的图文介绍,一起来看看吧. 梦幻西游三维版中,登录不进去解决办法有两种,第一种:稍等片刻再尝试登录即可.第二种 ...

  6. Github注册详细教程(含失败原因分析)

    目录 前言 注册失败原因分析(若没时间请直接跳到下一步) 正确步骤(PC与手机一样) 跋文 前言 Github是我们程序员学习和开发必备的网站之一,资源很丰富.之前没接触过开发,都只是在这个网站上下载 ...

  7. 淘宝网首页登录失败原因分析及解决…

    本文分析及解决淘宝网首页登录失败等上网问题,希望对大家有所帮助.淘宝网首页登陆失败原因,登录地址可以参考另外一篇文章:淘宝网相关登录地址汇总 一:浏览器本身的故障导致不能登录 现象:什么网站都打不开, ...

  8. HTTP下载文件校验失败原因分析与解决

    从7月中旬左右,我们客户端更新失败率由原来的2%上升到10%.更新后台数据统计显示更新失败中的90%为HTTP下载失败,具体的失败原因是文件下载完成后MD5与服务器预期的MD5不匹配. 在着手调查解决 ...

  9. 未知的错误代码在应用程序安装:110 android,应用在华为P9手机上安装失败原因分析 (错误码:-110)...

    问题描述: 应用在之前的华为手机上都能正常安装,但是在华为P9手机上安装失败,提示错误为: 失败原因: 系统问题导致安装失败(错误码:-110) 原因分析: 开始怀疑是android的版本问题,后来看 ...

最新文章

  1. Android架构篇-3 网络接口封装
  2. linux curl 命令 http请求、下载文件、ftp上传下载
  3. Linux开发工具的使用
  4. oracle一条语句递归查询父子关系
  5. Python获取一个字符串所有连续子串
  6. shell脚本详解(一)——Shell编程规范与变量
  7. 线程之售票系统pthread_mutex,_lock,_unlock
  8. phpstudy apache无法启动_phpstudy和wamp哪个好
  9. php-cgi并发,对于php-fpm和cgi,还有并发响应的理解
  10. gevent动态随时添加任务
  11. 《.Net 软件设计新思维》作者讲述成书的背后故事
  12. win10使用debug
  13. 使用Charles进行HTTPS抓包
  14. 星界边境机器人升级,星界边境作弊码分享
  15. 中国电信提前批(已offer)
  16. Office 2016 Pro Plus \ Project 专业版 \ Visio 专业版 \ 64 位vol版本方便KMS小马oem
  17. Python基于WordCloud词云图的数据可视化分析 词云图的基本使用 政府工作报告分析
  18. Unity学习笔记1 简易2D横版RPG游戏制作(一)
  19. 读文可以学计算机吗,学计算机的必须读的文章(范文).doc
  20. docker安装redis无法启动: The container name “/ly-redis“ is already in use by container

热门文章

  1. 洛谷——P1155 双栈排序
  2. 在centos下安装django
  3. Oracle使用NLSSORT函数实现汉字的排序
  4. javascript 函数与对象
  5. Postgres不同数据库间访问
  6. 编程之美 4.6桶中取黑白球
  7. 驱动多个二相四线制步进电机的Proteus仿真
  8. 数据结构笔记(一)-- 概念
  9. java port_Java NonRegisteringDriver.port方法代码示例
  10. java怎么释放分配的内存,linux 内存的分配和释放,linux分配释放