Desligamento de Máquinas

Colaboração: Fabio Wiebbelling

Data de Publicação: 17 de Janeiro de 2002

Algum tempo atraz criei um script para preparar a máquina para ser desligada quando ela não encontrasse nenhuma máquina ativa na rede. Funciona através do ping, como vc pode ver no script que chamei de autoff.

 #!/bin/bash
 net="192.168.0."
 start="1"
 end="3"
 n=1
 while [ $n != 0 ] ; do
  n=0
  for h in ``seq $start $end`` ; do
    /bin/ping -c 1 -q $net$h > /dev/null
    if [ $? = 0 ] ; then let n=n+1 ; fi
  done
 done
 /sbin/halt

É bastante simples. Só é preciso alterar a rede que ele deve pingar e as máquinas, excluindo a interface da própria máquina, senão ele não desliga nunca.

Para rodar coloco no rc.local:

 autoff &

Bem, mas o usuário ainda precisa saber quando ela está pronta. Como não sobrou nada além do speaker para sinalizar, fiz o seguinte. No rc.6 do Slackware 8.0, alterei a linha do poweroff para:

 poweroff &

e, inclui logo após

 while [ null ] ; do
  echo -n -e "\007"
  sleep 1
 done

Assim ela fica bipando. Claro, se for com fonte ATX, isso não é necessário.



Veja a relação completa dos artigos de Fabio Wiebbelling