• crontab 在unix 没有执行。


    Quote: 引用 2 楼 jdwq33 的回复:

    Quote: 引用 1 楼 mp777323 的回复:

    03 * * * * sh /opt/pro_some.sh
    我试过了,这样也不行,难道是我的系统出问题了吗?

    看下邮件, /var/spool/mail/root
    会有执行报告的


    那个root文件里面没有打印任何东西,我等了这么久,一点东西都没有。

    unix issu1 :

     使用命令:mail 也可以查看

    OSW 没有执行,检查 /var/spool/mail/root 文件,发现cron 模式是从根目录开始执行,因此无法发现执行目录。

    sh修改如下:

      $SCRIPTLOC/OSWatcher.sh 30 360

    修改为

    cd $SCRIPTLOC
    $SCRIPTLOC/OSWatcher.sh 30 360

     另外加入profile 选项:

    cd $HOME
    OSNAME=`uname`
    case $OSNAME in
    SunOS) OSNAME=1 ;;
    HP-UX) OSNAME=2 ;;
    AIX) OSNAME=3 ;;
    Linux) OSNAME=4 ;;
    esac
    if [ $OSNAME -eq 4 ]
    then
    . ./.bash_profile
    else
    . ./.profile
    fi

    linux issue 2:

    crontab执行后日志文件路径

    /var/log/cron

    如crontab 没有成功,检测crontab 服务是否启动,

    /etc/init.d/crond status 

    /etc/init.d/crond restart

    cron 是系统守护进程,位置:
    /etc/init.d/crond
    参数:
    start
    stop
    restart
    reload

    crontab执行后日志文件路径

    /var/log/cron

    ##issue 3

    感谢

    Linux定时任务,执行shell文件失败问题&&mailed 73 bytes of output but got status 0x004b#012报错解决

    加入调试语句   2>&1

    
    

    为了找到错误的具体信息,我把语句改成了

    mysqldump -uxxx -pxxx dbname > backup.sql >xxx.log 2>&1

    ###########sample :

    31 16 * * * sh /orabak/oswbb/oswbb/OSW_init.sh > /tmp/1.log

    unix AIX: 使用cron fork 出一个OSW进程

    [root@nbutest1:/]# ps -ef|grep OSW
    root 11862018 19202296 0 Nov 30 - 0:32 /bin/sh ./OSWatcherFM.sh 360 /oradata/oswbb/oswbb/archive 《— 第三级子进程
    root 12910804 21889042 0 16:02:00 pts/5 0:00 grep OSW
    root 19202296 29818988 0 Nov 30 - 1:14 /bin/sh /oradata/oswbb/oswbb/OSWatcher.sh 30 360 <- 第二级子进程
    root 29818988 6815964 0 Nov 30 - 0:00 sh /oradata/oswbb/oswbb/OSW_init.sh <- 第一级子进程
    [root@nbutest1:/]# ps -ef|grep 6815964
    root 6815964 1 0 Sep 15 - 0:53 /usr/sbin/cron <- 这是父进程,父进程是cron
    root 29818988 6815964 0 Nov 30 - 0:00 sh /oradata/oswbb/oswbb/OSW_init.sh
    root 32833782 21889042 0 16:03:07 pts/5 0:00 grep 6815964

    linux: 使用cron fork 出3个OWS进程


    [root@nbutest:/orabak/oswbb/oswbb]# more /tmp/2.log
    root 10127 10126 0 16:26 ? 00:00:00 /bin/sh -c sh /orabak/oswbb/oswbb/OSW_init.sh > /tmp/1.log <- 第一级子进程
    root 10128 10127 0 16:26 ? 00:00:00 sh /orabak/oswbb/oswbb/OSW_init.sh <- 第二级子进程
    root 10136 10128 0 16:26 ? 00:00:00 sh /orabak/oswbb/oswbb/OSW_init.sh <- 第三级子进程


    [root@nbutest:/orabak/oswbb/oswbb]# ps -ef|grep 10126
    root 10126 5076 0 16:26 ? 00:00:00 crond <- 这是父进程,父进程是cron


    unix HP-UNIX 使用cron fork 出2个OSW进程

    [root@nbutest2:/]# more /tmp/2.log
    root 20751 6990 2 16:31:00 ? 0:00 sh -c sh /orabak/oswbb/oswbb/OSW_init.sh > /tmp/1.log
    root 20752 20751 0 16:31:00 ? 0:00 sh /orabak/oswbb/oswbb/OSW_init.sh

    ###issue 5

    感谢

    cx_Oracle库导入失败引起crontab中python程序运行失败,并且无错误提示

    今天遇到一个问题:

           一个python脚本命令行运行时很正常,放到crontab中就无法工作,日志也没有记录,找了半天,终于发现问题所在。

    在脚本最上方,程序如下:

    1.  
      #!/usr/local/bin python
    2.  
      # coding=utf8
    3.  
      import cx_Oracle
    4.  
      import sys
    5.  
      import time

    注意,这里

    import cx_Oracle  

    cx_Oracle需要依赖oracle的ORACLE_HOME环境。我发现ORACLE_HOME定义在/etc/profile下,在这里修改的内容是对所有用户起作用的,但是对crontab是不起作用的。以下是各个文件的一个作用域:

    (1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
    (2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
    (3)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
    (4)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
    (5)~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。

    (6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

    解决办法:

    30 7 * * *  . /etc/profile; /usr/local/bin/python2.7 /data/storeDataToOracleDB.py  &  

    这里加上了

    . /etc/profile;  

    ok,问题解决。

  • 相关阅读:
    ORACLE 查找数据库中有记录的表
    [原]Asp.Net 错误:无法连接到Asp.Net Developement server
    中国移动手机话费查询号码1008611
    动手修改VS2008的解决方案文件,以让VS2005打开它
    [转]飞秋使用说明与常见问题解决方法
    微软发布Fix it 修复Windows 7等系统0day漏洞
    Oracle DECODE 函数应用示例
    [转]C#实现访问网络共享文件夹
    c#保留小数点后位数的方法
    [转]微软紧急修复高危漏洞 30万网民PC已遭攻击
  • 原文地址:https://www.cnblogs.com/feiyun8616/p/7884160.html
Copyright © 2020-2023  润新知