share facebook facebook2 twitter menu hatena pocket slack

2017.04.17 MON

Linux の history コマンド結果に日時を入れたい [cloudpack OSAKA blog]

那須隆

WRITTEN BY 那須隆

ナスです。

タイトルの通りです。
これやっとけばよかった!って体験をこの3月に何回かしたので…

あのコマンド叩いたのいつだっけ?とか、なんかディレクトリが削除されてるんですけど知りませんか?って聞かれたりした時、とりあえず history コマンド叩きますよね?

で、出てくる結果がこんなんです。

70  df -h
71  sudo cat /etc/nagios/nrpe.cfg
72  cd /etc/

うん、確かにxxユーザでこのコマンド実行してるけど、いつ実行したのかわからん、ってなります。

そこで HISTTIMEFORMAT と言う環境変数を設定します。これでいつどのコマンドが実行されたかがわかります。
細かい設定の話はしたの Qiita とかが参考になります。これが一番参考になりました。

historyコマンドの実行日時のフォーマットについて - Qiita
## historyにコマンド実行日時を保存するにはまずは historyコマンドでコマンドの実行日時を保存する方法を軽く説明します。環境変数 HISTTIMEFORMAT が設定されていて、かつその値が null でない場合は...

qiita.com

この環境変数を設定している時に実行したコマンドだけに、実際の実行日時が出ます。環境変数を設定した以前の日時に実行したコマンドの行には、環境変数を設定した日時で統一されるので、最初に設定しておくことが大切です。

この環境変数を初期構築時に Ansible とかで設定するように仕込んでおけばいいですね。

元記事はこちら

Linux の history コマンド結果に日時を入れたい [cloudpack OSAKA blog]

那須隆

那須隆

ネットワークエンジニア、SAPコンサルタントを経て、cloudpackにJOIN。Webサイトや基幹システムのインフラ構築および運用を主に行い、シェルやPythonなどでスクリプトを組んで、インフラ運用の効率化を目指している。