Кто и когда перезагружал сервер?

В этой статье рассмотрим две системы мониторинга *NIX, которые помогут узнать когда был перезагружен сервер и кто инициировал это действие.

SYSSTAT

Данная утилита позволяет мониторить нагрузку системы (на диски, проц и т.д.) и при команде sar также можно увидеть время перезагрузки. Установка на linux:

yum install sysstat
# в Debian надо в /etc/default/sysstat выставить параметр ENABLED="true"
systemctl enable sysstat
systemctl start sysstat
sar
11:00:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
11:10:01 AM     all      0.16      0.00      0.15      0.01      0.00     99.69
11:20:01 AM     all      0.14      0.00      0.13      0.00      0.00     99.72
Average:        all      0.16      0.00      0.12      0.02      0.00     99.70

У freebsd есть аналогичные штатные утилиты называемые gstat и systat (пример systat -iostat).

UPTIME

Штатная утилита которая показывает сколько часов/дней уже работает сервер.

uptime
04:27:43 up 207 days,  8:55,  1 user,  load average: 0.00, 0.00, 0.00

WHO

Штатная утилита которая может показывать последнее время запуска системы.

who -b
system boot  2019-11-03 18:32

LAST

Штатная утилита которая может показывать время запуска системы.

last -x reboot
reboot   system boot  5.3.8-1.el7.elre Sun Nov  3 18:32 - 04:33 (207+09:00)
reboot   system boot  5.3.8-1.el7.elre Sun Nov  3 18:30 - 18:32  (00:02)
reboot   system boot  3.10.0-1062.4.1. Sun Nov  3 18:17 - 18:29  (00:12)
reboot   system boot  3.10.0-957.27.2. Tue Aug 20 10:30 - 18:29 (75+08:58)
reboot   system boot  3.10.0-957.27.2. Tue Aug 20 10:20 - 18:29 (75+09:09)
reboot   system boot  3.10.0-957.27.2. Tue Aug 20 10:11 - 10:20  (00:08)
reboot   system boot  3.10.0-957.27.2. Sun Aug 18 14:11 - 10:20 (1+20:08)
reboot   system boot  3.10.0-957.27.2. Sun Aug 18 14:10 - 10:20 (1+20:09)
reboot   system boot  3.10.0-957.27.2. Sun Aug 18 14:07 - 14:10  (00:02)
reboot   system boot  3.10.0-957.1.3.e Sun Aug 18 07:17 - 14:07  (06:49)
reboot   system boot  3.10.0-862.14.4. Sun Nov 25 13:17 - 14:07 (265+23:50)
reboot   system boot  3.10.0-862.11.6. Sun Nov 25 11:45 - 13:17  (01:31)

LASTCOMM

Утилита которая также может показывать время перезагрузки сервера.

lastcomm reboot

Установка в linux:

yum install psacct
systemctl enable psacct
systemctl start psacct

Установка в freebsd. Здесь утилита присутствует штатно но требует настройки.

echo 'accounting_enable="YES"' >> /etc/rc.conf
touch /var/account/acct
accton /var/account/acct
/etc/rc.d/accounting start