🐕
【Shell】ログファイルを自動リネームして保管:エビデンス収集に便利なシェルスクリプト
ログファイルを自動リネームして保管:エビデンス収集に便利なシェルスクリプト
テスト自動化や運用作業で生成される .log
ファイルを、後から確認できるように環境情報付きで保存したいと思うことはありませんか?
たとえば、
- テストのエビデンスとしてログを残す
- 実行マシンごとにログファイルを分けたい
- IPやホスト名をファイル名に付けて分かりやすくしたい
そんなときに便利なのが、ログファイルをリネームしてコピーするシンプルなスクリプトです。
test.log
を環境情報付きで保存
🛠️ シェルスクリプト:#!/bin/bash
# 元ファイルのパス
SRC="/usr/local/logs/test.log"
# IPアドレス取得(127.0.0.1以外の最初のIPを使用)
IP=$(hostname -I | awk '{print $1}')
IP_SAFE=${IP// /_}
# ホスト名取得
HOST=$(hostname)
HOST_SAFE=${HOST// /_}
# 複製&リネームして保存
cp "$SRC" /usr/local/test1.log
cp "$SRC" /usr/local/test_${IP_SAFE}.log
cp "$SRC" /usr/local/test_${HOST_SAFE}.log
作成されるファイル名
/usr/local/test1.log # 固定名でコピー
/usr/local/test_192.168.0.123.log # IPアドレス入り(スペース除去済)
/usr/local/test_my-pc.log # ホスト名入り(スペース除去済)
Discussion