• ベストアンサー

rshでのバッチ実行環境

WindowsからUnixマシンに対してジョブ実行するために、rshでsource xxxを実行して環境設定しようとしてもうまく反映されません。 telnetで実行した場合はOKなのですが、rshでうまくできない理由はどんなことが考えられるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kenipi
  • ベストアンサー率29% (44/150)
回答No.1

% rsh source xxx % rsh yyy (command) とされているという事と推察いたしましたが,あってますでしょうか? telnetと違って,rsh コマンドは一個づつが新規のシェルになりますから,上記のようにした場合は source xxx の結果は yyy コマンドには影響を及ぼしません。 #!/bin/sh source xxx yyy というようなファイルを用意しておいて,これを rsh で実行したらいかがでしょうか。

starrysky-
質問者

お礼

ありがとうございます。試してみます。

関連するQ&A

  • rshを使用したバッチファイル

    今、あるサーバにPCからシェルをFTPして、RSHでFTPしたシェルを実行するバッチファイルを作成していますが、 コマンド1行づつをカット&ペーストで実行すると正常に動作するのですが、バッチファイルをWクリックすると、FTP は正常に動作するのですが、RSHの処理がされず、ループ? (ループの記述はなし)してしまいます。 *ECHO ONでじっこうすると、RSHの行は呼ばれているみたいですが、処理が失敗しているようです。 バッチファイルでの設定に問題があるのでしょうか? <バッチの内容 start> *IP、パス、ユーザ名は伏せさせていただきます。 ftp -s:d:\PATH\send.txt XXX.XXX.XXX.XXX rsh XXX.XXX.XXX.XXX -l USRNAM -n "chmod +x /PATH2/rsh.sh;source /PATH3/envsetUSRNAM;PATH4/rsh.sh" <バッチの内容 end>

  • rshが実行できない。

    ローカルLANで2台のPCを使い、ローカルPCからリモートでもう一台のPCに対してアクセスを試みようとしていますtm12420iと申します。 SunOS 4.1 とSunOS 5.8の経験は2年くらいありますが、turbo linuxははじめてです。 端末PC(win2k)から、サーバーPC(turbo linux 7 server)に対して、rshが実行できないという問題で困っています。原因または解決策をご存知の方はいらっしゃいませんか。 <エラー内容> xxx.xxx.xxx.xxx:接続が拒否されました rsh:can't establish connection <現状確認事項> pingは通っている telnetではアクセス可能 sambaは正常に動作している 端末PC(win2k)から、別サーバーPC(sun 4)では問題なく実行できる <turbo linux 7 server 側設定済み内容> /etc/xinetd.conf内でincludedir /etc/xinetd.d /etc/xinetd.d/shell内でdisable = no、user = root,USER名、server = /usr/sbin/in.rshd /etc/services/shell*のポート設定は正常、別名での設定もok /etc/xinetd.d/login内でdisable = no、user = root,USER名、server = /usr/sbin/in.rlogind /etc/hosts.equiv内にXXX.XXX.XXX.XXX(端末PCアドレス) 端末PC名を追加 /home/mic/.rhosts内にXXX.XXX.XXX.XXX(端末PCアドレス) 端末PC名を追加 /etc/hosts内にXXX.XXX.XXX.XXX(サーバーPCアドレス) サーバーPC名、XXX.XXX.XXX.XXX(端末PCアドレス) 端末PC名を追加 /etc/hosts.allow内にin.rshd: XXX.XXX.XXX.XXX(端末PCアドレス)を追加 /etc/hosts.denyはALL: ALLのまま /etc/resolv.conf内にdomain ドメイン名、nameserver XXX.XXX.XXX.XXX(端末PCアドレス)を追加 SET(SETENV) のPATHの設定確認OK 各ファイルのパーミッションも問題なし /etc/rc.d/init.d/xinetd restart 等で関連サービスの再起動も行った

  • windows7からUNIXへのrsh方法

    お世話になっております。 現在windows7(A)からSUAを使用してunixサーバ(B)へリモートシェルを 実行したく調査しております。 unixからwindows7へのrsh(以下のコマンド)は成功するのですが 肝心の逆windows7からunixのrshが 「permission denied 」となり失敗してしまいます。 ■テストコマンド (1)windows7(A)からunix(B)へ    rsh B -l Buser ls   ← 失敗 (2)unix(B)からwindows7(A)へ    rsh A -l Auser ls    ← 成功 「.rhosts」や「hosts」の設定等は行い、rloginができることは 確認しております。(AからBとBからA両方ともOK) 何か設定等が間違っているのでしょうか? 宜しくお願い申し上げます。

  • rshを使うスクリプトをバックグラウンド実行

    Linux+Perlでのお話です。 内部でsystem関数を使ってrshコマンドを実行しているperlスクリプト(以下、スクリプトAという)があります。 スクリプトAをフォアグラウンドで実行するとうまく流れるのですが、バックグラウンド実行すると、rshコマンドを実行した直後でjobが止まってしまいます。 もっと詳しく言いますと、スクリプトAのrshコマンドは、ディスクを共有しているリモートマシンに対して、スクリプトBを実行するように指示しています。 スクリプトBではとある計算を行なっており、その計算結果をファイルに出力しています。 そして、その結果をスクリプトAで読み込んで後処理を行うというものです。 ----- …(前処理)… system("rsh (ホスト名) \"(スクリプトB実行コマンド及び引数) 1> /dev/null 2> /dev/null\""); # ここでjobが止まってしまいます。 # ここで標準出力(ログファイルにリダイレクトしてる)に何か出力しようとしても、何も出力されてません。 (スクリプトBの結果ファイルの読み込み) …(後処理)… ----- Jobが止まってしまうと言っているのは、jobsコマンドで見ると"job stopped"となっている状態のことを言っています。 この状態でスクリプトBの結果はファイルに出力されているので、rshのコマンドはうまく投げられていると思います。 (「rshやsshは標準入力が期待されてるとバックグラウンド実行が出来ない」(?)というような記述をどこかで見かけたので、念のためrshに"< /dev/null"の記述を加えてもみたのですが、変わりませんでした) その後、止まっているjobをfgコマンドでフォアグラウンドで再開させると、最後まで問題なく実行されます。 フォアグラウンドで実行すればうまくいくのに、バックグラウンドで実行すると止まってしまうのが理解出来ません。 これは何が原因なのでしょうか。 そして、どうしたら解決出来るのか。 どなたかご存知でしたら、ご教示頂きたくお願い致します。

    • ベストアンサー
    • Perl
  • Windows7でrsh,rcpを実行したい

    Windows7 Professional x64だとSUAが使えないのでフリーのrsh等を探してます。 cygwinのsshもよいのですが、手ごろに使えるrsh,rcpの利用をしたいと思ってます。 Linuxマシンのシェルスクリプトの実行やファイルのコピーを行いたいと思ってます。 情報やホームページなどご存じの方ご教授ください。

  • ドメイン環境のWindowsXPによるRSH実行

    環境) ・ドメコンサーバ: Windows Server 2003,Standard Edition SP1 ・RSH Client: Windows XP Pro SP3 お世話になります。 > C:\> rsh 172.22.45.155 -l DN1000 ACOP 20010000 > 172.22.45.155:接続が拒否されました > rsh: can't establish connection rch clientから監視パトランプ機へのrshコマンド実行で、エラー接続となっており、 エラー内容から、原因がドメインプロファイルによるものか切り分け中です。 一般にドメインプロファイルとは、ドメイン環境内のPC側(今回はWindowsXP)で 設定されるものの様ですが、ドメコンサーバ側でも設定箇所はございますでしょうか? ご存知の方、いらっしゃいましたら、何卒、ご教示下さい。 ちなみに、ドメコンサーバは、以下の役割を設定済みです。 ドメインコントローラー FSMO:スキーママスター FSMO:ドメイン名前付けマスター FSMO:RIDマスター FSMO:PDCエミュレーター FSMO:インフラストラクチャーマスター グローバルカタログサーバー Active Directory 統合 DNS サーバー よろしくお願い申し上げます。

  • unixからwindowsへリモートシェルを実行したい

    unixからwindows2000serverのプログラム(VBのexeファイル)を リモートで実行したいのですが、何か良い方法がありました教えて下さい。 また、unix側、windows側でインストールすべきS/W等がありました教えて頂けますでしょうか。 よろしくお願い致します。 参考までに、以下の内容は自分で調査しましが、実現には至りませんでした (何かが間違ってるのかもしれませんが・・・)  ・SSH(unix・winそれぞれに設定方法がよくわからない)  ・unixからtelnetログイン(telnetログイン・UID/PASSWD入力・winプログラム   実行を自動化(シェル化)の仕方がわからない)  ・unixからrshを実行(windows2000ではrshを受付けない?)

  • ASP.NETでRSH実行について

    ASP.NETでWebアプリケーションを作っているのですが、RSHでLinuxのシェルを実行しようとしたのですがうまくいきません。 (ちゃんと実行されずスキップされます) 普通のDosの実行は出来ます。 RSHの実行結果のDosの標準出力をTextBoxに出したいと思ってます。 System.Diagnostics.ProcessStartInfoで行っています。 同じソースをVBアプリで実行するとうまくいきました。 IIS設定でWeb公開しようとするとだめみたいです。 IISのセキュリティとか何か設定が必要なのでしょうか? OSはWindowsXP ProでVS.NET2003を使ってます。

  • PCからのrshについて

    パソコンから、linuxマシンにrshについてです。 現在、パソコンのコマンドラインより、 > rsh サーバ名 -l ログイン名 コマンド で、コマンドを実行しています。 このとき、サーバのログインユーザの.rhostsには、 パソコンのIPアドレス パソコンのユーザ名 を記述しています。 これを、 複数のIPアドレス(DHCP対応)で複数ユーザでrsh出来るように実行したいのですが、 例)1 パソコンのIPアドレス + 例)2 + + の+の記述では、 サーバ名: Permission denied. rsh: can't establish connection とはじかれてしまいます。 うまく複数のIPアドレス、ユーザ名で対応させるにはどうしたらよいでしょうか? はじかれた時のmessages Nov 9 17:40:47 XXXXX rshd[19487]: rsh denied to Administrator@XX.XX.XXX.XXX as Administr ator: Permission denied. Nov 9 17:40:47 XXXXX snmpd[19113]: Connection from 127.0.0.1 REFUSED Nov 9 17:41:18 XXXXX last message repeated 16 times PCのOS windows XP LinuxのOS Redhat ES 4

  • Postmessageが失敗してしまう

    UnixからrshによりWindows内のBatファイルを起動しプロセスを実行 しようとしています。プロセス実行は行えるのですが、 実行されたプロセス内でPostmessageのエラーが発生してしまいます。 GetLastErrorで取得した値はエラー内容は1400です。 内容は”ウインドウハンドル無効です”というものでした。 UnixのrshからでなくWindows内で実行した場合はエラーになりません。 何が原因かわかりません。些細な事でも構いませんので宜しくお願い 致します。  Uinuxマシン:UP  Windowsマシン:WinXP(Pro)SP2  Rsh:Microsoft Windows Service For Unixを使用