Executa tarefas após solicitar um encerramento

1

Eu tenho um pequeno cyber café com 7-9 estações de trabalho Ubuntu 12.04. Infelizmente, não posso estar lá toda semana.

Eu vi uma solução Java para atualizar o sistema, depois que um usuário normal (não-sudo / admin) solicita um desligamento (mas não reinicia!) o sistema se atualiza - o sistema básico é o Ubuntu 10.04 como eu me lembro , mas os programas e o gerenciador de área de trabalho são totalmente personalizados, com softwares personalizados (por exemplo, para verificar o nível de tinta das impressoras ...)

É por isso que pensei que, se eu pudesse criar algo semelhante em nosso ambiente, seria muito útil. Eu já escrevi no Bash, e usei Zenity , então eu só quero saber:

  1. como posso chamar / executar meu script?
  2. como posso executar comandos de raiz (sudo obrigatório) dentro desse script? (por exemplo, sudo poweroff ou parada)
por antivirtel 14.12.2012 / 14:55

1 resposta

1

Aqui está uma visão geral do que você pode fazer.

Se você quiser verificar se há uma atualização toda vez que a máquina estiver inoperante, poderá transformar seu script em um script init do sistema v que será executado no nível 0 (shutdown).

Para fazer isso:

  1. altere seu script para ser um script de inicialização. Exemplo rápido - link
  2. coloque em /etc/init.d /
  3. crie um link simbólico como: /etc/rc0.d/K01myscipt - > /etc/init.d/myscript

Isso enviará um comando de parada ( K 01myscript) para o seu script no início do processo de desligamento (K 01 myscript - ou seja, antes de outros). Não tenho certeza, mas talvez você tenha que cancelar o desligamento no início do script - shutdown -c now e emiti-lo novamente no final - shutdown -h now .

O script será executado já como root, então você não precisa de nenhum comando sudo. Você só precisa ter permissões para criar os arquivos mencionados.

    
por Pavel A 14.12.2012 / 15:57