当サイトではアフィリエイト広告を利用しています。

【Linux】ログファイルを自動で整理!CSVログのローテーション方法まとめ【日付別+7日保持】

はじめに

LinuxでCPUやメモリの使用率をCSVに記録していると、時間とともにログファイルがどんどん増えてストレージを圧迫してしまいます。

特に、最安のVPS環境なんかはストレージが50GBくらいだったりするので、以下にストレージを節約しながら使うかが勝負です。

この記事では、以下のようなログローテーションの仕組みを導入する方法を、初心者向けにわかりやすく解説します。

✅ やりたいこと

  • ログファイルを日付付きのCSVに保存
    例:resource_log2025-08-05.csv
  • 古いログは7日間だけ保存し、それ以前のものは自動削除

ステップ1:ログを日付付きで保存する

すでに次のようなスクリプトで記録している場合:

#!/bin/bash

logfile="/home/hayana/resource_log$(date "+%Y-%m-%d").csv"
echo "$(date '+%Y-%m-%d %H:%M:%S'),$(top -b -n1 | grep '%Cpu(s)' | awk -F',' '{print $4}' | awk '{printf("%.1f", 100 - $1)}'),$(free -m | awk '/Mem:/ {printf("%.1f", $3/$2*100)}')" >> "$logfile"

🔍 ポイント解説

  • $(date "+%Y-%m-%d"):ファイル名に日付(例:2025-08-05)を含める
  • >> "$logfile":ログを追記していく

ステップ2:古いログを自動で削除する

ここでは、ファイルの更新日が7日より古いCSVファイルを自動で削除する方法を紹介します。

以下の1行コマンドをスクリプトの最後に追加します:

find /home/hayana/ -name "resource_log*.csv" -type f -mtime +6 -exec rm {} \;

🔍 コマンドの解説

コマンド部分 意味
find ファイルを検索するLinuxコマンド
/home/hayana/ このフォルダの中を検索対象にする
-name "resource_log*.csv" 名前が resource_log から始まるCSVファイル
-type f ファイル(ディレクトリ以外)を対象
-mtime +6 7日以上前のファイルを対象(6日前より前)
-exec rm {} \; 見つかったファイルを削除(rm)

🟢 例:更新日8日以上前のCSVが削除される

2025-07-28 → 削除対象(7日以上前)
2025-07-30 → 削除されない

✅ ローテーション付きの完成スクリプト

#!/bin/bash

logfile="/home/hayana/resource_log$(date "+%Y-%m-%d").csv"
echo "$(date '+%Y-%m-%d %H:%M:%S'),$(top -b -n1 | grep '%Cpu(s)' | awk -F',' '{print $4}' | awk '{printf("%.1f", 100 - $1)}'),$(free -m | awk '/Mem:/ {printf("%.1f", $3/$2*100)}')" >> "$logfile"

# 7日より古いログを削除
find /home/hayana/ -name "resource_log*.csv" -type f -mtime +6 -exec rm {} \;

✅ 自動実行:cronに登録する

以下のように、crontab を編集してスクリプトを自動実行できます。

crontab -e

以下を追記(1分ごとに実行):

* * * * * /home/hayana/log_cpu_mem.sh

✅ 動作確認

ログが削除されたかを確認するには:

ls -lt /home/hayana/resource_log*.csv

✅ まとめ

処理内容 方法
日付付きでログ保存 date "+%Y-%m-%d" を使う
古いログを削除 find ... -mtime +6 -exec rm
自動実行 cron に登録する

この記事がリソース監視ログの運用に役立てば嬉しいです!

🔰 Linuxを試せる環境がない方へ

コマンドなどを実際に試してみたいけれど、Linux環境がない…
そんなときは、「さくらのVPS」を使えば簡単に自分専用のLinux環境が手に入ります!

  • ✅ 月額524円(税込)〜手軽に始められる
  • ✅ UbuntuやDebianなど、好みのOSが選べる
  • ✅ SSH接続でターミナル操作もバッチリ
  • ✅ 日本国内の大手サービスで安心・安定

さくらのVPSでLinux学習をはじめる

\ あなただけのLinux環境を5分で構築! /