Linux Cronjob调度问题

时间:2013-03-21 06:12:17

标签: linux oracle crontab suse rman

我的cron作业如下所示。它将在Oracle中调用RMAN,然后清除oracle数据库中所有1天的achivelogs。但问题是它没有通过cron工作执行。但如果我从提示符执行相同的脚本,它很好地通过RMAN删除日志。请帮我安排这个脚本...

05 07 * * * /x01/rman_backup/mahesh/logde.sh

脚本的内容如下

#!/bin/bash
 /x01/oracle/app/oracle/product/11.2.0/db_1/bin/rman cmdfile=/x01/rman_backup/mahesh /logdelete.rcv

logdelete.rcv的内容如下所示

connect target /
 run
  {
  delete archivelog all completed before 'trunc(sysdate)';
  crosscheck archivelog all;

   }
 exit;

请有人帮我安排这个。我在SUSE Linux版本11中使用它

2 个答案:

答案 0 :(得分:0)

通常,使用输出重定向和cronjob来收集文件中的错误,例如

06 12 * * * /x01/rman_backup/mahesh/logde.sh > /x01/rman_backup/mahesh/output.txt 2>&1

具体来说,你的问题可能是从cron找不到logdelete.rcv,因为这个作业将在$ HOME中执行,所以文件需要在那里。如果不是,请指定它的完整路径。

答案 1 :(得分:0)

您必须为控制台进行一些初始化,但不能在cron执行中进行初始化。手动初始化变量或手动输入cron行中的配置文件。