ログの圧縮にシステムコマンドを利用してtar cvzf $tmp_file $dir
という感じで$dirディレクトリに含まれるログを$tmp_fileという名称で圧縮します。
このときにログの改行コード(CR+LF)がLFに変わってしまうのですが、
システムコマンドを使う場合は避けようがないのでしょうか?
システムコマンドを使った場合でも、改行コードを変えない圧縮方法があれば教えて下さい。
ちなみに,PHPのgz*関数を使うとDLしたあとで解凍がうまく出来ません。
解凍ソフトは3種類ほど試しましたが全滅でした。(php4.3.9ですが)
またzip圧縮のライブラリなども使ったことはあり便利なのですが、
今回は外部ライブラリを使わない方針で、なるべくシンプルな方法を探しています。
よろしくお願いします。
tarはデータを保管するだけなので
改行コードの変換を行いません。
アップロードされたファイルが$dirに格納された
データがそのような形式保存されている。
PHP gzで圧縮したファイルを
xxx.gzとした場合
gunzip xxx.gzで復元できます。
拡張子がgz以外の場合例えば xxx.tmp
の場合
gunzip -S .tmp xxx.tmp
たまにありますね・・・
全部ファイルをアップしたつもりが、1個だけ更新できていなかったとかでエラーが出ることって。
とにかく解決して何よりです。
なんともお恥ずかしい限りです。
予想外のことが起きると、スクリプトをドンドン書き換えてしまうので、更新漏れだったんですね。
今回はtarの勉強ができたということで収穫ありでした。
復元方法まで、ご回答ありがとうございます。
改行コードの変換はやはり行われないものなんですか。
↓コメント↓に書いたようにFTP経由ではCR+LF
http経由だとLFになってしまうんです。
いずれも.gz拡張子で、DLして+Lhaca1.2.0.0で解凍した結果です。
「Windowsでメモ帳を使ってもダウンロードしたログが見られるように」
という目標なんですが、困りました。
なんか変なことやっているんでしょうか?
unix環境の知識がほとんどないので困っています