【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接続でターミナル操作もバッチリ
- ✅ 日本国内の大手サービスで安心・安定
\ あなただけのLinux環境を5分で構築! /






ディスカッション
コメント一覧
まだ、コメントがありません