[PHP-users 34574] Re: php(コマンドライン版でない!)からrsyncでサイトを同期させる方法
kato @ officeants.net
kato @ officeants.net
2009年 5月 15日 (金) 03:03:40 JST
大家さま
かめおやじさま
貴重な情報を有り難うございます。
加藤です。
僕の方で、実験や調べておりまして、お返事遅くなりまして申し訳ありません。
なるほど、、
proc_open()関数でかなり自由度の高い操作が、、といったのを多々目にしたのです
が、お二人のご意見や、私のproc_open関数を使ったログインの実験からもちょっと
難しいのかもしれませんね、、、
>> 大家さま
> 解決策についてですが残念ながら試してないので何とも
> いえないのですが・・例えば私ならシェルスクリプトに
> コマンドを書いて、それを shell_exec とかで実行すると
> いう方法で再チャレンジすると思います。
なるほど、やはり、シェルスクリプトですね。。。その際に、apache権限でrsyncす
る形になってしまうのが。。。
ということで、下記ですね。
> パスワードの入力は・・うーん、使ったことないのですが
> 例えば expect コマンドとかありますが
> http://www.linux.or.jp/JM/html/expect/man1/expect.1.html
> こういったものを使うとか。。
> (これも同じエラーになっちゃいますかね??)
expectコマンドですね、、
こちらはサーバーに入ってないためちょっと
>> かめおやじさま
> rsync を使用したいとの事ですが、suしなくても使用できるのではないかと
> 予想しております。(テストはしていないので、ご勘弁を・・・。)
> 方法としては、sudo を使うことで可能ではないかと考えます。
> phpからの使用イメージとしては、
> $outarray = array();
> exec("sudo /usr/bin/rsync ?????????",$outarray,$ret_value);
> みたいな感じではないでしょうか。
> (exec の使用方法は、phpのマニュアルをご参照下さい)
> (rsync の使用方法は、linuxのマニュアルをご参照下さい)
> sudo に関しては、ネットで検索すると、各種情報が出てくるとは思うのですが、
> sudo の設定ファイル(/etc の配下にsudo又はsudoersのファイルであると思い
> ます)の中に、
> Defaults requiretty
> の行が有りますので、この行をコメントアウトして下さい。
> (デフォルトでは、ttyなしが許されておりません)
> この行をコメントアウトする事により、ttyなしでも、特権ユーザになれるよう
> になります。
> 設定ファイルに
> apache ALL=NOPASSWD: /usr/bin/rsync
> を追加します。
> そうする事で、apache より、パスワードなしで rsyncを利用できる環境が出来
> るのではないかと考えます。
> (せってによりパスワードあり等もできますが、sudoの使用方法をお調べ下さい)
> sudo の設定によっては、スクリプトから、特権ユーザにパスワードなしで
> なれる環境を作り出すことが可能になりますので、サーバのセキュリティ
> 等々は、自己責任で判断して頂きますようお願いいたします。
sodoの設定で、パスワードは聞かれなくなりました。
ただし、、、
うまく
エラー:
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]
やはり、コマンドラインから試してみると、rsync 自体のサーバー側からのパスワー
ドが、求められたので、
--password-file=/home/aaa/パスワード.txt オプションを使って、rsyncでサー
バーからのパスワードを聞かれないようにしたのですが、やはりそこで引っかかって
いるようです。
・・・トータル的に、やはり、大家さんの言われるように、シェルスクリプトで作成
するしかないのですかね。。
(本当は、PHPプログラムの中だけで、処理できれば良いのですが、、、)
ちょっと私の方で、作業+悩んでみてメール投稿させていただきます。
取り急ぎのお礼まで、、、
どうぞ、よろしくお願いいたします。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
加藤
PHP-users メーリングリストの案内