Páginas

sábado, 4 de abril de 2009

Desligar o computador automaticamente quando offline (usando Python)

Já faz um tempo que estou tendo problemas com minha conexão ADSL. Frequentemente acontece alguma bizarrice na minha linha telefônica e preciso fazer alguns procedimentos manuais para reconectar.

Como não compensa montar um robô para realizar a reconexão, passou a ser interessante ao menos desligar o PC quando ele estiver offline...

Então, um dia desses antes de dormir escrevi um curto script Python, que só funciona em Linux, para desligar o computador quando não conseguir acessar uma URL.

#!/usr/bin/env python
import os
from time import sleep, strftime
from urllib2 import urlopen, URLError

TEST_URL = "http://www.google.com"

while 1:
try:
urlopen(TEST_URL)
print '%s [OK] %s' % (strftime("%c"), TEST_URL)
except URLError:
# I am liked offline, halt!
os.system("shutdown now -h")
break
sleep(180)


O que faço depois é, antes de ir dormir, rodar sudo ./halt_when_offline.py > hwo.log.