gzで圧縮されたファイルの管理

apacheのログを圧縮してローテーションする設定にしている。
ローテーションされるとgzで圧縮される。
普段自身で圧縮する際はtgzが多いので、gzで圧縮されたファイルの解凍にいつも迷う。


gunzipコマンドを使用する。

# gunzip access_log-20180107.gz

これで解凍すると圧縮ファイルの方は残らない。
まさに解凍されて無くなっちゃう感じだろうか。

# gzip -d access_log-20180114.gz

こちらでも解凍可。やはり圧縮ファイルの方は残らない。


圧縮ファイルを残す版。
標準出力に出したものをファイルに書き込む。

# gunzip -c access_log-20180121.gz > access_log-20180121

これやると、圧縮ファイル側と所有者が変わる可能性があるので気をつける。
当たり前だが、解凍実行ユーザの持ち物として解凍されたファイルが作られる。

-rw-r--r-- 1 root    root     42763572  222 12:19 2018 access_log-20180121
-rw-r--r-- 1 neko neko   2266585  24 04:00 2018 access_log-20180121.gz


gunzip, gzip -dで解凍したものは、圧縮ファイルの日時所有者が保持された。

-rw-r--r-- 1 neko neko  63238638  24 04:00 2018 access_log-20180114