Linux -コマンドTIPS-

設定ファイルの一括バックアップ

概要

同一サーバに複数のバーチャルホストを運用している場合、個別のconfファイルの一括バックアップを取る必要があります。

その際、

sudo cp -pi /path/to/src/directory/*.conf /path/to/backup/directory/

としたのでは、オリジナルのファイルがファイル名そのままコピーされます。そういうときに、

するTIPSです。

コマンド

for file in /path/to/src/directory/*.conf; do sudo cp "$file" "/path/to/backup/directory/$(basename "$file").bk.$(date +%Y%m%d)"; done

これで、コピー元にある.confファイル全てが、バックアップ先に元のファイル名に.conf.bk.yyyy-mm-ddが付与された状態で保存されます。

/var/log/auth.logの視認性を良くするワンライナー

セキュリティ対策がきちんと働いているかを確認するため、以下のようなワンライナーで確認しました。

不正アクセスの試行を調べる

/var/auth.logから、失敗したアクセス(認証に失敗したユーザー)を確認するためのワンライナーです。

sudo awk '/Disconnected from invalid user/ {print $(NF-4)}' /var/log/auth.log | sort | uniq -c | sort -nr
43 root
36 ubuntu
24 user
20 test
13 admin
8 deploy
6 guest
6 ftpuser
5 oracle
5 hadoop
5 dev
5 debian
4 user1
4 sysadmin
4 samba
3 test1
3 mysql
3 max
3 kafka

と、アカウントごとに失敗したユーザーを表示してくれます。

成功したログインを日付時刻を付与した上で表示する

/var/auth.logから、ログインに成功したユーザーを調べます。

sudo awk '/Accepted/ {split($1, date, "T"); split(date[2], time, "."); gsub("-", "/", date[1]); print date[1] " " substr(time[1], 1, 5) " " $7}' /var/log/auth.log | sort | uniq -c | sort -nr

日付は2024-11-25T16:21:14.772402+09:00のような形式から2024/11/25 14:38に修正しています。

1 2024/11/25 14:38 hoge

これで、ログの視認性が高まりました。