Linux -コマンドTIPS-
設定ファイルの一括バックアップ
概要
同一サーバに複数のバーチャルホストを運用している場合、個別のconfファイルの一括バックアップを取る必要があります。
その際、
sudo cp -pi /path/to/src/directory/*.conf /path/to/backup/directory/
としたのでは、オリジナルのファイルがファイル名そのままコピーされます。そういうときに、
- 特定のファイルを一括でコピーしつつ
-
.bk.yyyy-mm-dd
などの識別子を付与
する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
これで、ログの視認性が高まりました。