Linuxサーバでログファイルの中身を空(サイズを0)にする方法をメモします。
サーバのログファイルは、ログを定期的に削除していないと
どんどんサーバの容量が大きくなってしまいます。
特にApacheのアクセスログなどはWEBサイトにアクセスがあるたびに溜まってしまうので注意です。
定期的にログを削除したり、ローテーションするなどの対応が必要になります。
以前の記事でファイルの中身を空にする方法を記載してました。
下記の方法を使用していましたが、中身は空になるのですがサイズが0になりません。
echo '' > hoge.txt
他に方法があるか調査し、色々と試してみました。
下記にLinuxでファイルの中身を空(サイズを0)にした時の方法を記載します。
■ Linuxでファイルの中身を空(サイズを0)にする
空にしたいファイルの場所に移動します。
※access_logファイルを空にする場合
下記のコマンドを実行するとファイルを空にすることができます。
: > access_log
「:」は0を返すようなのでファイルサイズが0になります。
また、下記の方法でも対応できます。
空ファイル(nullデバイス)で上書きします。
cp /dev/null access_log
この場合、メッセージが表示されるかもしれません。
cp: `access_log` を上書きしてもよろしいですか(yes/no)?
yseで上書きすればファイルサイズが0になります。
サーバの容量やログファイルなどは定期的にチェックし、
サイズが大きい場合は削除するなどの対応をするといいと思います。