‘ Python ’ category archive
Script para hacer Backups
April 06, 09 by adminMe he hecho un pequeño script en Python que llamo todos los dias en en el cron para que me haga un backup.
Utiliza scp y lo tengo configurado con certificado de la máquina ‘backup’ hacía la que va a copiar.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | #!/usr/bin/env python import os, time, smtplib, sys, subprocess, StringIO from email.mime.image import MIMEImage from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart email = "email@dominio" #email al que vas a enviar email_from = "email@dominio" #Desde el que vas a enviar path = "/path/donde/guardar/el/backup" path_l = path + "files/" path_h = "/path/de/la/maquina/remota/a/copiar" host = "ip_o_dominio" user = "cacaue" def writelog(content): log=open(path+'log.txt', 'a') log.write(time.strftime("%d %m %Y %H:%M")+" "+content+"\r\n") log.close() def sendemail(content, asunto): msg = MIMEMultipart() msg['To'] = email msg['Cc'] = "" msg['From'] = email_from msg['Subject'] = asunto text = MIMEText(content) text.add_header("Content-Disposition", "inline") msg.attach(text) try: server=smtplib.SMTP("localhost") server.sendmail(msg['From'], msg['To'], msg.as_string()) server.quit() writelog("Email enviado a "+msg['To']+" con el contenido: "+content) except: writelog("Error al enviar email") if __name__ == "__main__": path_backup = path_l+time.strftime("%d%m%y") try: os.mkdir(path_backup) except: writelog("Ya existe --> "+path_backup) cmd = "scp -r "+user+"@"+host+":"+path_h+" "+path_backup try: f=open(path+"temp.txt", "w") retcode = subprocess.call(cmd, shell=True, stdin=f, stderr=f) f.close() if retcode < 0: writelog("Child was terminated by signal") else: f=open(path+"temp.txt", "r") salida = f.read() f.close() if os.path.getsize(path+"temp.txt")>0: writelog("Error en "+host) else: sendemail(salida, "Backup "+time.strftime("%d/%m/%y")+" realizado con exito") writelog("Realizado con exito") except OSError, e: writelog("Execution failed") |
getTorrent.py – script, para descarga de .torrent del RSS de Mininova y añadirlos a MLDONKEY
October 23, 08 by admin
Recientemente un amigo me paso un script para descargar Torrents de series españolas del MLDONKEY, el funcionamiento era que solicitaba el rss de series de mininova y lo parseaba para encontrar la url de dicho archivo, lo descargaba y guardaba en la carpeta que por defecto viene en el subdirectorio de mldonkey con nombre torrents/incoming. Mldonkey añade a su lista de descarga los torrent que se encuentre en esa carpeta.
Modificando su herramienta, la he convertido en un script para bajarme las series automáticamente sin necesidad de estar cada Lunes .. Martes etc… bajandome el torrent de la serie de turno y introduciendolo en MLDONKEY para subirle el torrent. El mecanismo es que seleciona del RSS el que más Seeds y Leechers tenga la formulá solo para mentes avanzadas Seeds*2+Leechers
El Script tiene dos modos básicos.
Manual:
[sourcecode language='Python']python getTorrent.py Dexter s03e04[/sourcecode]
Guardará en el directorio que le inquemos dentro del script como ML_PATH el torrent con mayor puntuación que de como resultado la busqueda de Dexter+s03e04, podriamos añadir todas las palabras de busqueda que queramos.
Automático:
[sourcecode language='Python']python getTorrent.py -c data.nui[/sourcecode]
contenido de data.nui:
[sourcecode language='Python']
Dexter+s03e01
Dexter+s03e02
Dexter+s03e03
Dexter+s03e04
[/sourcecode]
Ejecutamos esta orden mediante cron todos los Lunes. Primero descargará Dexter s03e01 al Lunes siguiente Dexter s03e02 y así sucesivamente hasta el final. Cierto es de que debemos de quitar el cron cuando se acabe la serie, aunque este no hará nada malo, ya que el archivo quedará vacio y no ejecutará nada.
Descargar: getTorrent.tar.gz
Twitter