faz shutdown / reboot avisar em um servidor compartilhado no caso de sessões do usuário ou alta carga

1

Existe uma maneira fácil de avisar um administrador sobre o desligamento, reinicialização, desligamento, parada, ... sobre:

  • cálculos em andamento (carga alta, disco alto io)
  • abra sessões de terminal bash / zsh / ...
  • outros usuários conectados
  • sessões de tela / tmux

Estou procurando uma solução que ofereça suporte aos administradores para que não ocupem muito espaço no trabalho acidentalmente.

Configuração: Ambiente cooperativo (15 usuários, todos se conhecem). Nós usamos um servidor compartilhado com vários usuários e administradores. Muitos usuários fazem cálculos longos em screen / tmux sessions. Embora os administradores devam saber melhor, acontece de tempos em tempos que eles reinicializam a máquina e acidentalmente atrapalham o trabalho contínuo dos usuários logados.

    
por Jörn Hees 26.01.2017 / 15:02

1 resposta

1

Existe um pacote debian chamado molly-guard . Ele pede para você digitar o nome do host para que você não desligue acidentalmente a máquina errada. Por padrão, isso só é ativado para conexões SSH, mas você pode definir ALWAYS_QUERY_HOSTNAME=true em /etc/molly-guard/rc para que ele sempre pergunte.

Além disso, para tornar o administrador ciente do que está acontecendo, adicionamos o seguinte arquivo /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
    
por 26.01.2017 / 15:02