IE上からrsyncスクリプトを実行したい。
目的:IEからrsyncスクリプトを実行してWEBサーバAとWEBサーバBの
同期を取り、データを同じにしたいです。
IEのURL欄部分へスクリプトまでのフルパスを入力、実行すると
同期が取れるようにしたいのです。
*現状はIE上では無く、サーバ上からrsyncスクリプトを実行
すると同期が取れます。
コマンド:./test/script/testrsync.pl
IE上からフルパスでtestrsync.plを実行すると
Internal Server Errorとなってしまい、下記のエラーログ
が出てしまいます。
apacheのエラーログ
-----------------------------------------------------------
Host key verification failed.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(463) [sender=2.6.8]
Host key verification failed.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(463) [sender=2.6.8]
[Mon Jun 1 00:00:00 2009] [error] [client xxx.xxx.xxx.xxx] Premature end of script headers:
/test/script/testrsync.pl
------------------------------------------------------------
rsyncスクリプト
------------------------------------------------------------
#!/usr/local/bin/perl
$RSYNC_SCRIPT = "/usr/local/bin/rsync --rsync-path=/usr/local/bin/rsync";
$RSYNC_OPTION = "-azpq -e ssh --delete";
$RSYNC_SVUSER = "user\@serverb:";
$TEST_DIR = "/test/hogehoge";
$REAL_DIR = "/test/hogehoge";
$DEBUG = "debuglog.txt";
open(DEBUG,">$DEBUG");
@SYNCDIR = (
"root/",
);
foreach $SYNC (@SYNCDIR){
$CMD = "$RSYNC_SCRIPT $RSYNC_OPTION $TEST_DIR/$SYNC $RSYNC_SVUSER$REAL_DIR/$SYNC";
system($CMD);
}
close(DEBUG);
------------------------------------------------------------
現在はcronで定期的に自動更新がかかるようにしておりますが、
同期を取りたい時にIE上からフルパスでスクリプトを実行し
サーバAからサーバBへ同期を取りたいです。
色々と調べているのですが、糸口が掴めない状態です。
どなたかお分かりになられればご教示頂きたいです。
よろしくお願い致します。