Inicio Informática Copias de seguridad locales con un script en Python y rsync

Copias de seguridad locales con un script en Python y rsync

Publicado por entreunosyceros

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

script rsync PythonEn todas las versiones Gnu/Linux hay diferentes programas para realizar la copia de seguridad de turno de nuestros archivos, pero personalmente me gustan las cosas simples, lejos de interfaces gráficas (que no tienen nada de malo pero pierde toda la gracia). Por esta razón, buscando un poco encontré el comando rsync, que resulta ser un un formidable aliado de las copias de seguridad que muchas veces olvidamos hacer. Tiene suficientes opciones como para hacer una copia con todos los requisitos y garantías necesarias.

El siguiente script, realizado en python este nos hace la copias de seguridad  de turno de manera sencilla. Veréis que es extremadamente simple e incluso para los que no tienen idea de este lenguaje, el añadir una línea para que el script haga la sincronización de un nuevo directorio resulta inmediato y muy sencillo.

En mi caso uso un disco duro externo que he llamado Sapo_HDD, en el de otro se puede renombrar en el script según necesidades. En el mismo script se explica cómo hacerlo mediante los comentarios añadidos.

Para automatizar la tarea se puede añadir una linea a crontab indicando el intérprete de python  y la ruta donde queráis poner el script. A mi me ha resultado útil y muy entretenido, para el que guste aquí está el script.

Script en Python con rsync para realizar copias de seguridad

# -- coding: utf-8 --
import os
ruta_usuario=os.getcwd()
ruta_volumen="/media/Sapo_HDD" #Modificar según el nombre del disco externo donde dejar la copia
directorio_destino=ruta_volumen + "/" + "RsyncBackup"
try:
    if os.path.exists(directorio_destino):
       pass
    else:
       os.mkdir(directorio_destino,0777)
    directorios_origen=[]
    rutas_directorios_origen=[]
    #Se añaden los directorios para sincronizar
    directorios_origen.append("Documentos")
    directorios_origen.append("Proyectos_Android")
    directorios_origen.append("Descargas")
    #Añadir aquí otros directorios que se desean sincronizar
    #o eliminar de las líneas anteriores los que no quieres sincronizar
    for rutas in directorios_origen:
    rutas_directorios_origen.append(ruta_usuario + "/" + rutas)
    for rutas in rutas_directorios_origen:
    print "Sincronizando " + rutas + " con " + directorio_destino
    os.system("rsync -ahv --progress" + " " + rutas + " " + directorio_destino)
    print "Proceso terminado sin errores"
except OSError:
print "Ha ocurrido un error ¿has enchufado el disco externo?"
except:
print "Ha ocurrido un error. Revisa todo lo revisable!!"

El script es sencillo de entender y de utilizar, y hace todo lo necesario para tener siempre a punto nuestras copias de seguridad de los directorios que necesitemos tener siempre a buen recaudo.

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

Resumen de privacidad
cookies entreunosyceros

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible.

La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudarnos a comprender qué secciones de la web encuentras más interesantes y útiles.

Nunca almacenamos información personal de ningún tipo.

Tienes toda la información sobre privacidad, derechos legales y cookies en nuestra página sobre la política de privacidad o en la página sobre nuestra política de cookies.

Cookies necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de terceros

Esta web utiliza las siguientes cookies adicionales:

- Mailchimp: Recordar si ya estás suscrito al boletín de noticias y sino ofrecértelo al salir.

- Accesibilidad: Para saber tus ajustes de accesibilidad en cada visita.

- Comentarios: Saber si has leído y aceptado nuestra política de privacidad a la hora de dejar un comentario en la web.

- Google Analytics: Localización para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

- Goggle Adsense: Anuncios personalizados según tu geolocalización y preferencias.

Dejar estas cookies activadas nos permite mejorar nuestra web.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.