2

現在対処すべきシナリオがあります。会社の Linux ベースのサーバー (Suse Linux の下) のバックアップを、ARCServe R15 (Windows 2003R2SP2 にインストール) でスケジュールする必要があります。バックアップ ソフトウェア (ARCServe) には、実行前/実行後のスクリプトをバックアップ ジョブに追加する機能があることを知っています。スクリプトが失敗した場合、ARCServe はバックアップ ジョブを実行しないように指定され、成功した場合は実行するように指定されます。私はこれで問題ありません。

問題は、クラスターで Linux スクリプトを実行するための Windows スクリプト (ARCServe によって起動される) を作成したいということです。実行されない - Linux スクリプトが成功した場合、Windows スクリプトをエラー コード 0 で正常に終了させたいので、ARCServe ジョブは正常に実行されます。このバッチ ファイルを作成してみました (HPC.bat と呼びましょう):

エコーオン

start /wait "C:\Program Files\PUTTY\plink.exe" -v -l root -i "C:\IST\admin\scripts\HPC\pri.ppk" [クラスター名] /appli/admin/backup_admin

終了 %errorlevel%

この .bat をダブルクリックして手動で起動するか、Windows のコマンド プロンプトで起動すると、正常に実行されて終了します。ARCServeで起動させるとスクリプトが終わらないらしい。私のジョブは「待機中」の状態のままです。Linux スクリプトの実行コードがバッチ ファイルに返されていないようで、これは閉じません。私の考えでは、plink は Linux への接続を開き、sript 実行信号を送信してから接続を閉じるだけなので、実行コードをバッチに返すことはできません。私は正しいですか?

私がやりたいことは可能ですか、それとも不可能なことをしようとしていますか? それで、私は別の方法で進めなければなりませんか?plink の代わりに PUTTY または CygWin を使用する必要がありますか? お願いです、頭が痛いです...

4

1 に答える 1

1

Cygwin をインストールすると、Linux から Linux で実行できるのとまったく同じように実行できます。つまり、次のコマンドをリモートで実行できます。ssh someuser@remoteserver.com somecommand

このコマンドは、コマンドがリモート エンドで終了したときと同じ戻りコードで、呼び出し元のクライアントに戻ります。認証にパスワードの代わりに SSH 共有キーを使用する場合は、ユーザーの操作なしでスクリプト化することもできます。

于 2012-04-25T16:09:47.197 に答える