LoginSignup
0
0

More than 5 years have passed since last update.

か弱い本番環境でxargs使って丁寧に1個ずつログファイルを圧縮する

Last updated at Posted at 2017-09-06

想定している悲惨な環境

  • Webサーバーの/var/log以下にアクセスログが世代管理されずに放置されているので圧縮したい
  • 消すにしろ、圧縮するにしろ、本番環境なので一気にまとめてやるとI/OとかCPUとか死んでしまう(10年プレーヤーの物理サーバー辛い)
  • 意外とアクセスある

xargsの便利なpオプションで丁寧に

xargsにはp(スモールピー)オプションがあり、コマンド実行するかどうかを聞いてくれる。yもしくはYを押すと実行してくれるので、topコマンドで負荷見ながら実行してあげるといいと思います。nオプションを指定しておかないと元の木阿弥になるパターンがあるので忘れずに。

find . -name "*.log" | xargs -p -n1 gzip

圧縮済みのファイルとかが散らばっている場合には除外してあげてください。

find . -name "*.log" ! -name "*.gz" | xargs -p -n1 gzip

か弱い本番で死にかけるやり方

find . -name "*.log" -exec rm {} \;

とかやると死ぬ。

find . -name "*.log" -exec gzip {} \;

とかやっても死ぬ。
もし、か弱いサーバーに出会ったり作ってしまった場合にご活用くださいませ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0