- PR -

別サーバーの外部コマンド実行方法

1
投稿者投稿内容
Levin
会議室デビュー日: 2007/06/19
投稿数: 2
お住まい・勤務地: 千葉県
投稿日時: 2007-06-19 01:48
お世話になっております。
JAVA経験半年程の初心者プログラマーです。

表題の件、
APサーバー(WebLogic)にデプロイされているJAVAアプリから、
別筐体(DBサーバー)の外部コマンドを実行できるでしょうか?
外部コマンドの実行方法は調べて分かったのですが、
アプリと同サーバーでない場合、どのように実装すれば良いか分かりません。

具体的には、APサーバー上のアプリから、
DBサーバー上でファイルのコピー(cpコマンド)と、
パーミッション変更(chmod)を実行したいです。

データソースからコネクションは取得できますが、
それを利用してできるものでしょうか?
もしくは、ソケットや、RMIといった技術が必要でしょうか?
ヒントでも構いませんのでどなたかご教示下さい。

Marimo
会議室デビュー日: 2003/10/15
投稿数: 15
お住まい・勤務地: 東京都
投稿日時: 2007-06-19 06:52
RPCを利用すれば何とかなるような気がします。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-06-19 09:49
可能な技術としてRMIやらTELNETやら色々あると思いますが、
DBサーバにもTomcatを入れたり、Apache/Perl/PHP辺りを組み合わせて、
HTTP経由で実行するっていうのがシンプルだと思います。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-06-19 10:22
本件のような事例だとTELNETでコマンドを叩くとかが楽なのでしょうかね。
叩くのがそもそも外部コマンドらしいですし。
枯れた技術を使うほうが楽なのでは。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-06-19 11:25
Ant の telnet タスクを利用する方法はいかがでしょう。
http://www.jajakarta.org/ant/ant-1.5/docs/ant-1.5/j/docs/manual/OptionalTasks/telnet.html
Levin
会議室デビュー日: 2007/06/19
投稿数: 2
お住まい・勤務地: 千葉県
投稿日時: 2007-06-19 23:42
marimo様、かつのり様、nagise様、インギ様

ご返信ありがとうございます。
いろいろ実現方法があるのですね。大変参考になります。
教えていただいた中で、TELNETなら私にも実装できそうです。
外部コマンドでTELNETを起動し、TELNET上でコマンドを実行するのですよね。
同様に思いついたのですが、APサーバー上からリモートシェル(rsh)を実行することでも実装できそうです。

RPC(RMI?)で実装する場合は、DBサーバーにもTomcat等をインストールし、
外部コマンドを実装したJAVAアプリをデプロイしておき、
それをAPサーバー上からRPCで呼び出す、ということですよね。
(今の自分のスキルだとちょっと難しそうです…)

とりあえず今回は手軽にできそうな前者で実装しようと思います。
みなさんありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)