0

(Oracle Hyperionの)サービスを停止および開始する簡単なスクリプトがあります

#!bin/ksh

/path/to/dir/stop.sh

sleep 1200

/path/to/dir/start.sh

毎晩スケジュールしましたが、実行されますが、その後のデータベース接続に問題があります。しかし、私が手動で実行するstop.shstart.sh、そのような問題はありません。明らかに、ジョブは完全には実行されていませんでした。

これがからの出力ですcrontab -l

00 02 * * * /export/home/oracle/scheduled_restart.sh

誰かが問題についてアドバイスしてもらえますか?ありがとう。

4

1 に答える 1

1

まったく同じコードの実行中に cron ジョブがコマンド ラインと異なる通常の原因は、環境、具体的には ORACLE_SID、TWO_TASK、LD_LIBRARY_PATH などの変数です。

oracle ユーザーが crontab を所有していると仮定します。ジョブが crond によって実行されると、su - oracle ではなく、su oracle と同等の処理が実行されます。コマンドが oracle ユーザーがログイン中に通常ソースするすべてのものを確実にソースするように、何かを試してみてください。

何が起こっているかを確認するには:

/export/home/oracle/scheduled_restart.sh && set > /tmp/my_variables.txt

ファイルが実行可能な/bin/sh 場合は必要ありません。/export/home/oracle/scheduled_restart.sh1行目にシバンが必要です。例:#!/bin/ksh kornシェルまたは使用するシェルの場合。

于 2013-02-15T12:32:25.047 に答える