ユーザの作業履歴を表示するhistoryコマンドを実行した際に、コマンドの実行日時の情報を追加する方法です。
historyコマンドの実行結果に日時の情報を追加
初期設定のhistoryコマンド実行結果には、下記のようにコマンドの実行日時情報は含まれていません。
$ history 5 1245 history 1246 ps -ef 1247 top 1248 df -h 1249 history 5
コマンドをいつ実行したのかを知りたくなったので、表示させる方法を調べてみました。
日時の情報が分かるようになると、作業した日時でgrepによる抽出が出来るようになり便利になります。
コマンドの実行日時の情報を追加
historyでユーザが実行したコマンドの日時を表示させるには、「HISTTIMEFORMAT」変数に表示させたい日時のフォーマットを設定することで表示させることができます。
今回は一時的に日時の情報を追加する方法と、永続的に追加する方法を説明していきます。
日時のフォーマットについては、下記のページで解説していますので参照してみてください。
https://www.server-memo.net/tips/command/date/date.html#i-4
一時的に日時を追加
一時的に日時の情報を追加させる場合は、「HISTTIMEFORMAT='日時をフォーマットで指定 '」を実行して「HISTTIMEFORMAT」を設定します。
この方法は一時的な設定となりますので、ログアウトしたりするとこの設定は元の状態に戻ってしまい、日時が表示されなくなってしまいます。
実行結果
「HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S '」と設定すると下記のように日時が追加されます。
$ HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S ' $ history 5 1265 2021-10-31 22:28:47 top 1266 2021-10-31 22:29:05 free 1267 2021-10-31 22:29:09 uname -a 1268 2021-10-31 22:29:29 ls -l 1269 2021-10-31 22:29:36 history 5
永続的に日時を追加
ログアウトしても設定が元に戻らないように、永続的な設定を行う方法を下記の2通りについて説明していきます。
- ユーザ個別に設定する方法
- 全ユーザに設定する方法
ユーザ個別に設定する方法
ユーザが個別に設定する場合は、ホームディレクトリにある.bashrcに設定を追加することで、日時を表示させることができます。
$ cd $ vi .bashrc
今回は下記のように設定を追加しました。
HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S '
設定を反映させるためには、一度ログアウトして再ログインするか、sourceコマンドで.bashrcファイルを再読込してみてください。
$ source .bashrc
その後にhistoryコマンドを実行すると、日時が表示されるようになります。
$ history 5 1273 2021-10-31 22:44:53 ll 1274 2021-10-31 22:45:01 vi .bashrc 1275 2021-10-31 22:48:19 source .bashrc 1276 2021-10-31 22:48:21 history 1277 2021-10-31 22:48:36 history 5
全ユーザに設定する方法
「/etc/profile.d/」ディレクトリに.shの拡張子でファイルを作成することで、ユーザがログインした際に設定を読み込んでくれます。
そこに作成したファイルに「HISTTIMEFORMAT」の設定する記述をすることで、ユーザがログインした際に設定が読み込まれて、historyコマンドで表示される結果に日時の情報が追加されるようになります。
今回は「/etc/profile.d/history.sh」というファイルを作成して、そこに「HISTTIMEFORMAT」の設定を記述していきます。
$ su - # vi /etc/profile.d/history.sh
設定内容は下記のように行いました。
HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S '
一旦ログアウトして、再度ログインしてhistoryコマンドを実行すると、コマンドの実行結果が表示されるようになりました。
$ history 5 1282 2021-11-01 19:30:09 free 1283 2021-11-01 19:30:15 uname -a 1284 2021-11-01 19:30:31 ls -l 1285 2021-11-01 19:30:46 cat ~/.bashrc 1286 2021-11-01 19:30:52 history 5
コメント