定时执行失败原因分析
、脚本语法错误
在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
定时执行失败原因分析相关推荐
- 【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( 使用 DexClassLoader 获取组件类失败 | 失败原因分析 | 自定义类加载器没有加载组件类的权限 )
文章目录 一.使用 DexClassLoader 获取组件类失败报错 二.失败原因分析 一.使用 DexClassLoader 获取组件类失败报错 在上一篇博客 [Android 逆向]启动 DEX ...
- RV1108 EMMC 程序下载失败原因分析
RV1108 EMMC 程序下载失败原因分析 目录 RV1108 EMMC 程序下载失败原因分析 1. 出现的现象 硬件环境 表现出的问题 2. 原因查找 检查硬件 3. rv1108 bootloa ...
- Solidworks异型孔打孔失败原因分析
Solidworks异型孔打孔失败原因分析 在使用异型孔给钣金件打孔时,弹出下面的对话框没有找到有效的用于生成装饰螺纹的边线 原因分析 底孔设置问题,按照正常的钻孔攻螺纹经验,一般材料攻M8的螺纹孔, ...
- onload js函数不执行的原因分析及解决方法
今天打开网站的时候,发现很多页面的信息都没有显示出来,仔细观察了之后,发现都是onload的js函数没有执行的原因.其实之前曾发现过这个情况,我以为是网站出了问题,然后采用多种方法试图让onload的 ...
- 梦幻西游 登入不显示服务器失败怎么办,《梦幻西游三维版》登录不进去怎么解决 登录失败原因分析...
导 读 梦幻西游三维版登录不进去如何解决想必还有不少小伙伴不太清楚,一起往下看九游小编整理的图文介绍,一起来看看吧. 梦幻西游三维版中,登录不进去解决办法有两种,第一种:稍等片刻再尝试登录即可.第二种 ...
- Github注册详细教程(含失败原因分析)
目录 前言 注册失败原因分析(若没时间请直接跳到下一步) 正确步骤(PC与手机一样) 跋文 前言 Github是我们程序员学习和开发必备的网站之一,资源很丰富.之前没接触过开发,都只是在这个网站上下载 ...
- 淘宝网首页登录失败原因分析及解决…
本文分析及解决淘宝网首页登录失败等上网问题,希望对大家有所帮助.淘宝网首页登陆失败原因,登录地址可以参考另外一篇文章:淘宝网相关登录地址汇总 一:浏览器本身的故障导致不能登录 现象:什么网站都打不开, ...
- HTTP下载文件校验失败原因分析与解决
从7月中旬左右,我们客户端更新失败率由原来的2%上升到10%.更新后台数据统计显示更新失败中的90%为HTTP下载失败,具体的失败原因是文件下载完成后MD5与服务器预期的MD5不匹配. 在着手调查解决 ...
- 未知的错误代码在应用程序安装:110 android,应用在华为P9手机上安装失败原因分析 (错误码:-110)...
问题描述: 应用在之前的华为手机上都能正常安装,但是在华为P9手机上安装失败,提示错误为: 失败原因: 系统问题导致安装失败(错误码:-110) 原因分析: 开始怀疑是android的版本问题,后来看 ...
最新文章
- Android架构篇-3 网络接口封装
- linux curl 命令 http请求、下载文件、ftp上传下载
- Linux开发工具的使用
- oracle一条语句递归查询父子关系
- Python获取一个字符串所有连续子串
- shell脚本详解(一)——Shell编程规范与变量
- 线程之售票系统pthread_mutex,_lock,_unlock
- phpstudy apache无法启动_phpstudy和wamp哪个好
- php-cgi并发,对于php-fpm和cgi,还有并发响应的理解
- gevent动态随时添加任务
- 《.Net 软件设计新思维》作者讲述成书的背后故事
- win10使用debug
- 使用Charles进行HTTPS抓包
- 星界边境机器人升级,星界边境作弊码分享
- 中国电信提前批(已offer)
- Office 2016 Pro Plus \ Project 专业版 \ Visio 专业版 \ 64 位vol版本方便KMS小马oem
- Python基于WordCloud词云图的数据可视化分析 词云图的基本使用 政府工作报告分析
- Unity学习笔记1 简易2D横版RPG游戏制作(一)
- 读文可以学计算机吗,学计算机的必须读的文章(范文).doc
- docker安装redis无法启动: The container name “/ly-redis“ is already in use by container