Сделать предупреждение о выключении / перезагрузке на общем сервере в случае пользовательских сессий или высокой нагрузки
Есть ли простой способ предупредить администратора о завершении работы, перезагрузке, отключении питания, остановке... о:
- текущие вычисления (высокая нагрузка, высокая нагрузка на диск)
- открыть bash / zsh / ... терминальные сессии
- другие зарегистрированные пользователи
- сеансы экрана / tmux
Я ищу решение, которое будет поддерживать администраторов, чтобы случайно не мешать много работы.
Настройка: Совместная среда (15 пользователей, все знают друг друга). Мы используем общий сервер с несколькими пользователями и администраторами. Многие пользователи делают длинные расчеты в screen
/ tmux
сессий. Даже при том, что администраторы должны знать лучше, время от времени случается, что они перезагружают машину и случайно нарушают текущую работу вошедших в систему пользователей.
1 ответ
Там есть пакет под названием debian molly-guard
, Он попросит вас ввести имя хоста, чтобы случайно не отключить не ту машину. По умолчанию это включено только для соединений SSH, но вы можете установить ALWAYS_QUERY_HOSTNAME=true
в /etc/molly-guard/rc
так что всегда спрашивает.
Также, чтобы администратор знал, что происходит, мы добавили следующее /etc/molly-guard/run.d/20-own-warning
файл:
#! /bin/bash
echo
echo "current logins: w:"
w
echo
echo "current logins: who:"
who
echo
echo "current open terminals: ps aux | grep -E '(bash)|(zsh)'"
ps aux | grep -E '(bash)|(zsh)'
echo
echo
echo "Before shutdown/reboot, please contact all of the above users!!!"
echo
exit 0