• ベストアンサー

圧縮ファイルから復元

圧縮ファイルから復元 system("tar cvzf $backup $base"); 上で作られた圧縮ファイルを、別のフォルダにパーミッション含めて丸ごと 復元するには、どのようにすればいいのでしょうか?

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

あの、system関数って、それをコマンドラインで実行したのと同じだってことはおわかりですか? > tar zxvfP /var/bkup/bkup.tar.gz /home >上記のように、指定したディレクトリや、ファイルのみを復元できれば更にいいのですが。 systemの引数がそうなるように書けばいいのですが。 system( "tar zxvfP /var/bkup/bkup.tar.gz /home" ) ;

TPR_SET
質問者

お礼

ありがとうございます。 Not found in archive このようなエラーが表示されましたが、もう寝る時間なので 明日以降調べてみようと思います。

その他の回答 (3)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.4

もはや Perl は全く関係ないんだけど, ある種の tar では絶対パスが使えないことがある. アーカイブファイルの中に, どのように記録されているのかを確認すべし.

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

使い方は知らんけど Archive::Extract ってモジュールはあるみたい.

TPR_SET
質問者

お礼

ありがとうございます。 ちょっと調べてみた限りでは、わからなかったので 明日以降調べてみようと思います。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

Perl の質問じゃないと思うなぁ. 「別のフォルダ」で展開するだけ, では?

TPR_SET
質問者

補足

質問の仕方が下手で、正確に伝わらなくて申し訳ありません。 perlで直接ファイルを解凍したいのですが、出来ないでしょうか? # tar zxvfP /var/bkup/bkup.tar.gz /home 上記のように、指定したディレクトリや、ファイルのみを復元できれば更にいいのですが。