November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags

April 12th, 2017

dil: (Default)
Wednesday, April 12th, 2017 12:56 pm

Как известно, список команд, запускаемых пользователем из командной строки, сохраняется bash’ем в файле ~/.bash_history . Но там они записываются просто в порядке запуска, а когда конкретно они запускались, неизвестно.

Внезапно обнаружилось, что информацию о времени запуска добавить очень просто, а она бывает очень полезна в процессе расследования всяких хаков и глюков.
Надо просто приделать к bash’у переменную HISTTIMEFORMAT – через /etc/profile, /etc/bash/bashrc, или персональные ~/.bashrc и ~/.profile:
export HISTTIMEFORMAT='%F %T '

Значение HISTTIMEFORMAT влияет только на формат вывода даты/времени при запуске history, его можно поменять в любой момент. Главное, чтоб при запуске bash’а эта переменная была хоть как-то определена, и тогда в .bash_history будут подписываться timestamp’ы:
#1491997427
cat .bashrc
#1491998079
tail .bash_history

и вот как посмотреть дату и время этих команд:
$ date -d '@1491997427'
Wed Apr 12 12:43:47 IST 2017
$ date -d '@1491998079'
Wed Apr 12 12:54:39 IST 2017

Оригинал этой записи в личном блоге.