1

以下のようにスケジュールされた cron ジョブがあります。これは、Oracle で RMAN を呼び出してから、1 日経過した Oracle データベースのすべてのアーカイブログをクリアすることです。しかし問題は、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

具体的には、このジョブは $HOME で実行されるため、ファイルがそこにある必要があるため、logdelete.rcv が cron から見つからない可能性があります。そうでない場合は、フル パスを指定します。

于 2013-03-21T06:40:05.653 に答える