码迷,mamicode.com
首页 > 系统相关 > 详细

Linux cron 计划任务日志跟踪

时间:2014-12-12 01:25:57      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:cron   跟踪cron   cron不执行   


场景:  需要在系统的cron中启动一个计划任务,跑的是一个shell脚本,脚本中大致意思是切换至

        abc用户执行一个php文件(例如: /data/soft/auto.php),那么现在问题来了,脚本的内

        容如下: 

         

#!/bin/bash

sudo -u abc /data/soft/auto.php
echo ‘ >>> auto success !!! ’

    你会神奇的发现,系统的/var/log/cron日志中已经显示auto success,但是这个程序依然

是没有执行,你怎么知道没执行呢?因为程序有日志,日志没开始刷.


       那么下一步该怎么来查找程序未执行的原因?思路是每次执行cron的时候必定会产生记录的文件

根据系统版本查找文件的位置:

       

操作系统版本4/5 查看 /var/spool/clientqueue/

操作系统版本6    查看 /var/spool/postfix/maildrop/

系统的postfix停掉,没停掉就直接敲mail命令看

进入对应的目录后可以使用 ls -lt|head 命令来截取最后执行的10个cron日志文件,根据时间来判定看

哪个文件,里面必定有报错.根据报错来修改脚本或者系统属性.


我遇到过的两种情况:


 1. sudo系统默认警告需要tty,解决办法:将/etc/sudoers文件中Defaults    requiretty注释掉.

 2. 变量路径引起的,加载你所需要的变量或者定义.


好久没有写,这个问题值得记录,相信很多人还不知道这个排错方式,这也是刚从别人那学的.

本文出自 “我是小白” 博客,转载请与作者联系!

Linux cron 计划任务日志跟踪

标签:cron   跟踪cron   cron不执行   

原文地址:http://878045653.blog.51cto.com/2693110/1588949

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!