Сделать предупреждение о выключении / перезагрузке на общем сервере в случае пользовательских сессий или высокой нагрузки

Есть ли простой способ предупредить администратора о завершении работы, перезагрузке, отключении питания, остановке... о:

  • текущие вычисления (высокая нагрузка, высокая нагрузка на диск)
  • открыть 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
Другие вопросы по тегам