SSH2 PHP圧縮ディレクトリEOFエラー

私はphpとssh2ライブラリを使用してバックアップを行うスクリプトを持っています。 スクリプトはssh2を使用してリモートマシンに接続し、バックアップタスクを実行します。 私は、ダウンロード時間を最小限に抑えるためにバックアップディレクトリを圧縮したいと思います。

私はそれを行うことができましたが、私のローカルマシンで私の圧縮ファイルを開くと、 '予期しないファイルの終わり'と書いてあります。

私はUbuntu 11.10で作業します。およびphp5。私のリモートマシンはCentosを実行します。

ファイルを圧縮するには、tarを使用してバックアップディレクトリをgzipでアーカイブしているので、myarchiveddir.tar.gzで終了します。

コードは次のようになります。         ....

    $execO = ssh2_exec($conn,"cd /tmp/;tar -cf {$newFile}.tar myRemoteFolder");
    $execO = ssh2_exec($conn,"cd /tmp/;gzip {$newFile}.tar");
    $output = fclose($execO);

私は解決のために努力して研究してきましたが、私はいつも同じポイントで終わるようです。誰もこの問題に少しの光を投げることができますか?私はssh2ライブラリが新ですので、このフィールドでは少し緑色です。私はそれが複雑なことはできないと確信して、それは私が行方不明のものでなければなりません。

多くは事前に感謝します。 マヌエル

0

1 答え

myRemoteFolder に後続のスラッシュ/が必要ないのですか?

0
追加された
stream_set_blocking を使用していますか?
追加された 著者 Adam Hopkinson,
こんにちはアダム、私はそれをチェックし、タールはそれに応じてフォルダをアーカイブします。スラッシュの後に問題はありません。また、ローカルマシンではなくリモートマシンで生成されたtar.gzファイルを開くことができることに気付きました。さて、私はgzip 1.3.12をローカルマシンに、1.3.5をリモートマシンに持っていますか?
追加された 著者 mmmdearte,
ご回答有難うございます
追加された 著者 mmmdearte,
tar.gzファイルをダウンロードしているときに問題があるようです。おそらくssh2セッション
追加された 著者 mmmdearte,
いいえ、私はstream_set_blockingを使用しないでください...これは面白いです....私はちょうどphp.netでこの機能をチェックし、ここで起こっているものに非常に類似したものに関するコメントがあります: href = "http://php.net/manual/en/function.stream-set-blocking.php" rel = "nofollow noreferrer"> php.net/manual/en/function.stream-set-blocking.php ) "警告:非ブロッキングモードでストリームにあまりにも多くのデータを書き込んでバッファを埋めると、超過分は静かに破棄されます。
追加された 著者 mmmdearte,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com