crontab定时任务不执行的原因及查看任务执行情况

肯定有很多人与我一样,遇到过在本地调用脚本,能够正常执行,但写入crontab定时任务后,就会出现一部分执行,一部分不执行的问题。或者是同样的脚本,同样的定时任务,但在有些服务器上可以执行,有些却不行。

经查阅相关资料发现,crontab总是不会缺省的从用户profile文件中读取环境变量,也就是说,要么是环境变量的问题,要么就是路径的问题。解决办法如下:

1、所用命令使用绝对路径;

2、调用的脚本开头部分添加如下内容,以便读到用户的环境变量参数,解决环境变量的问题;  例:#!/bin/bash

. /etc/profile

. ~/.bash_profile

3、也可以添加如下如何,方便查看脚本执行情况;

例:* * * * *  echo|/tmp/test.sh >>/tmp/test/txt

4、可以通过tail -f /var/log/cron,查看任务是否执行。

时间: 2024-10-29 19:10:23

crontab定时任务不执行的原因及查看任务执行情况的相关文章

crontab定时任务居然不执行

前言 最近在工作中遇到了一些问题,crontab定时任务居然不执行,后来我在网上找的时候发现网上主要说了这5个原因: 1 crond服务未启动 crontab不是Linux内核的功能,而是依赖一个crond服务,这个服务可以启动当然也可以停止.如果停止了就无法执行任何定时任务了,解决的方法是打开它: ? 1 crond 或 ? 1 service crond start 如果提示crond命令不存在,可能被误删除了,CentOS下可以通过这个命令重新安装: ? 1 yum -y install

linux crontab定时任务运行shell脚本(shell执行sql文件)

今天做个linux定时任务(每晚12点把表汇总). 顺便写个博客记录一下~~ 为什么用linux定时任务,而不是在项目加定时任务呢?原因就是防止因为各种原因项目崩溃..所以就用了更加稳定的linux定时任务(我是这么想的( ^_^ )). 起初我感觉很简单,以为顶多半小时就搞定了,,,结果从10点弄到12点半才搞定(主要是我英语太渣和数据库报错导致)... ︿( ̄︶ ̄)︿废话到此结束--------------- crontab 格式     * * * * *      XXX 分    时

对于crontab定时任务不能自动执行的总结

最近遇到了一些sh不能在crontab定时任务中自动执行的问题 期间由于不太了解,故走了一点弯路,现在总结下来可能第一次 进行设置遇到的问题.以绝后患!我所用过的操作系统为HP-unix&linux&sco-unix,均测试通过 1,首先确保sh脚本具有可执行属性 即chmod +x  ***.sh 或chmod +777 ***.sh 2,确保sh脚本手工执行正常 即在当前系统内手工执行sh脚本以后能收到自己期望得到的结果 3,加载环境变量 这个问题是经常容易被忽略的问题,通常我们在第二

关于crontab定时任务执行失败发送报错邮件的问题

前几天,发现一个在服务器通过crontab执行的一个java程序,突然不执行了.后来经过排查,是由于运维在其他项目上线的时候,不知道什么原因,导致crontab中jar文件的执行,通过java -jar执行不了了,必须修改为java的全路径/usr/java/jdk1.7.0_79/bin/java -jar才可以执行.原因因该是java的一些什么路径问题,这个没有具体去了解. 就打算在程序中添加一个监控,不然程序挂了也不知道,必须数据出现问题了,才有可能发现问题. 首先,在程序中添加监控是没有

Linux crontab定时任务执行php文件

简单介绍一下什么是crontab crond是Linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务 第一步:安装crontab 检测是否已安装 # crontab -bash: crontab: command not found   (未安装) #  yum install cront

[原创]SQL SERVER定时任务执行跟踪--供远程查看

一.背景 每次查需要优化的SQL都需要上外网,通过Profiler,报表或者DMV执行特定sql来查找,来回跑很麻烦,能不能在本地直接监控外网的好性能的SQL呢?方法是有的,我们可以通过把Profiler跟踪转换为T-SQL脚本,在外网做定时任务,就可以定时执行跟踪,然后通过执行特定的脚本将跟踪保存的文件中的数据导出到数据库的指定表中,这样,就可以web后台远程查看这个指定表中的耗性能的SQL了.详细见下面的操作步骤. 二.操作步骤 1.从SQL SERVER PROFILER按照自己指定的条件

linux应用之crontab定时任务的设置

实现Linux定时任务有:cron.anacron.at等,这里主要介绍cron服务. 名词解释: cron是服务名称,crond是后台进程,crontab则是定制好的计划任务表. 软件包安装: 要使用cron服务,先要安装vixie-cron软件包和crontabs软件包,两个软件包作用如下: vixie-cron软件包是cron的主程序.crontabs软件包是用来安装.卸装.或列举用来驱动 cron 守护进程的表格的程序. 查看是否安装了cron软件包: rpm -qa|grep vixi

Centos crontab定时任务

定时任务概念: 为什么要使用Crond定时任务? 例如:我们数据库或者程序需要每天晚上0点做一次全备,定时同步时间服务器等等 Linux系统定时任务软件的种类: at   适合仅执行一次就结束的调度命令,可以被crontab取代, crontab  可以周期性的执行任务,需要开启crond服务在生产工作中最常用到的命令 anacron   主要用于非7*24小时开机的服务器, 提示:crond服务,crontab命令是生产工作中重要的命令应用,其他的很少使用,可以忽略 重点学习crondtab定

crontab定时任务配置

一.CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行.cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业.crontab命令允许用户提交.编辑或删除相应的作业.每一个用户都可以有一个crontab文件来保存调度信息.系统管理员可以通过cron.deny 和 cron.al