Como emitir um aviso ao administrador (quando o administrador emite uma reinicialização do sistema) quando o usuário tem o processo em execução

0

Background
Eu trabalho em uma equipe de desenvolvimento e para cada projeto nós temos uma configuração de servidor diferente para emular o ambiente de nossos clientes. Pode ser difícil acompanhar o que eu estava fazendo em cada servidor e onde preciso começar. Para aliviar este problema eu comecei a usar um multiplexador de terminal (tmux / screen).

Meu problema está em um dos servidores em que trabalho, o líder do projeto está constantemente cometendo erros e reiniciando o sistema. Quando isso acontece, perco todas as minhas telas, assim como o tempo de voltar para onde estava e o que estava fazendo.

Pergunta
Todos os desenvolvedores recebem acesso root aos servidores e eu quero saber se existe alguma maneira de configurar o servidor para que meu líder de projeto receba um aviso de usuários conectados ou telas em execução quando decidirem redefinir o servidor?

(Se possível, gostaria de incluir uma mensagem do que estou executando e por que eles devem encontrar uma solução diferente para redefinir o servidor. Na minha empresa, esse é o único gerente de projeto que redefine o servidor diariamente .)

    
por Dodzi Dzakuma 20.03.2014 / 01:29

1 resposta

2

O comando wall curto para gravar em todos foi tradicionalmente usado para transmitir uma mensagem para todos os usuários conectados.

Mas eu sinto que a comunicação precisa ser tratada em um nível humano, bem como para o seu departamento funcionar corretamente.

who ou w mostrará uma lista de usuários logados, e se o terminal está ocioso, dando alguma indicação se eles ainda estão ativos, mas eles podem ter tarefas em segundo plano em execução, que precisam ser desligadas normalmente.

Não é uma boa ideia que todos estejam logados como o mesmo usuário, já que você não pode dizer quem eles realmente são e leva a problemas de segurança. O comando sudo é um bom método para permitir que usuários ou grupos de usuários executem determinado ou qualquer comando como root ou um usuário específico e o uso de sudo é registrado em /var/log/syslog ou /var/log/messages ou /var/log/auth , que fornece uma trilha de auditoria. (Qual arquivo de log depende da sua distribuição).

Sua empresa seria melhor se tivesse um ambiente comum padrão, entre servidores, e talvez considerando servidores virtuais, que fornecem uma instância isolada para testes, desenvolvimento e integração, produção etc. Sua pergunta traz alguns tópicos, é difícil para abordar todos eles com uma resposta tão curta.

Espero que os outros mencionem uma boa documentação sobre as práticas recomendadas do setor, porque parece que você tem vários problemas a serem abordados.

editar 1 @Dodzi Dzakuma, bem, isso poderia ser um caminho a percorrer, mas eu me pergunto por que seu sistema precisa ser desligado tantas vezes? Talvez resolver o problema subjacente seja melhor a longo prazo, em vez de desenvolver um script em torno do desligamento . Além disso, o desligamento deve ser executado pelo root, e é por isso que sugeri usar sudo . Você poderia adotar um método alternativo de cominicação entre vocês, através de um servidor de bate-papo que seja independente do (s) servidor (es) em que você está trabalhando?

@slm tks.

    
por 20.03.2014 / 02:02