Wake on lan e auto shutdown
Auto shutdown
O autoshutdown é simples, basta colocar o comando no crontab, mas esqueço-me sempre que os comandos no crontab precisam do caminho completo, porque a PATH é mais limitada.Basta editar (como root) o crontab com:
crontab -e
E acrescentar uma linha do tipo:
00 03 * * * /sbin/shutdown -h +5
Isto vai fazer com que o computador se desligue às 3:05 da manhã, dando um aviso com 5 minutos de antecedência.
Wake on LAN
O Wake on LAN não é uma opção muito segura. Apesar de haver extensões ao protocolo original que acrescentam autenticação, o WOL original é muito inseguro. Mesmo assim pode dar jeito em casa :)
O computador deve ser configurado na BIOS para suportar o Wake on LAN. Nem todas as BIOS o suportam, nem todas as interfaces de rede o suportam e a forma como aparece na BIOS pode ser muito variada. Pode aparacer mesmo como "Wake on LAN" ou "Wake on PCI event" ou "Wake on PCI-E event" ou qualquer coisa parecida.
Mesmo assim pode ainda não ser suficiente para que o WOL funcione. O sistema operatvo também tem de colaborar. No Windows isso faz-se nas propriedades avançadas da interface de rede. No linux faz-se com o ethtool.
Para verificar se a interface de rede suporta Wak on LAN basta executar (como root):
ethtool eth0|grep Wake
Se não aparecer nada significa que a interface não suporta WOL.
Para assegurar que o linux habilita o WOL criei um script em /etc/network/if-ip.d/wolenable, com o seguinte conteúdo:
#!/bin/sh
ethtool -s eth0 wol g
Não esquecer de tornar o script executável com:
chmod +x /etc/network/if-up.d/wolenable
Para que o script seja executado é preciso adicionar uma linha à configuração da interface de rede em /etc/network/interfaces:
auto eth0
iface eth0 inet dhcp
post-up /etc/network/if-up.d/wolenable
Isto vai executar o script cada vez que a interface eth0 seja iniciada (a linha nova está a negrito).
Depois é só uma questão de a partir de outra máquina (no mesmo domínio de broadcast) executar:
wakeonlan 01:23:45:67:89:ab
Substituindo o 01:23:45:67:89:ab pelo MAC address da máquina, claro.