1

我有一个计划如下的 cron 作业。它会在 Oracle 中调用 RMAN,然后清除 oracle 数据库中 1 天前的所有 achivelog。但问题是它没有通过 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 中使用它

4

2 回答 2

0

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

于 2013-04-13T06:11:58.060 回答
0

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

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

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

于 2013-03-21T06:40:05.653 回答