Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Script de Backup Incremental (hecho por mi :D )

  • 0 Respuestas
  • 1906 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Bartz

  • *
  • Moderator
  • Mensajes: 163
  • Actividad:
    53.33%
  • Reputación 8
  • ~Afaik~
    • Ver Perfil
« en: Mayo 05, 2019, 10:54:34 pm »
"Hecho por mi" dice el titulo ? hm... en realidad solo estoy usando la libreria system para utilizar Rsync de una manera mas comoda :D

En mi caso, tengo un disco externo en el cual backupeo todas mis cosas.
Tengo la misma estructura de archivos en ambos discos, y lo que me es MUY comodo en este caso es que el script reconoce los archivos que fueron modificados y/o eliminados y efectua esos cambios en la carpeta de destino.

Es decir, tengo una copia exacta de los cambios que he hecho en mis archivos.
Lo que elimine me lo elimina del backup, lo que agregue lo agrega y lo que modifique lo modifica :D Genial !

Tambien esta la opcion para que no elimine los archivos que hemos quitado de la carpeta de origen y simplemente copiar los archivos nuevos que no existan en nuestro backup pero sin eliminar los que hemos eliminado.

Para poder utilizar este Script tenemos que instalar Rsync.
Código: [Seleccionar]
$ sudo apt-get install rsync
Rsync:
https://rsync.samba.org/

Y a continuacion dejo el archivo para descargar como tambien el codigo del mismo:

LINK (3kb):
https://ufile.io/c97s0xl9

Codigo:
Código: Python
  1. from os import system
  2. import subprocess
  3. from time import sleep
  4.  
  5. print("\n\n\n\t██████╗ █████╗ ████████╗  ████╗   ████████╗     ████████╗██████╗ ██████╗██╗\n"+
  6. "\t██╔══████╔══████╔════██║ ██╔██║   ████╔══██╗    ╚══██╔══██╔═══████╔═══████║     \n" +
  7. "\t██████╔█████████║    █████╔╝██║   ████████╔╝       ██║  ██║   ████║   ████║     \n" +
  8. "\t██╔══████╔══████║    ██╔═██╗██║   ████╔═══╝        ██║  ██║   ████║   ████║     \n" +
  9. "\t██████╔██║  ██╚████████║  ██╚██████╔██║            ██║  ╚██████╔╚██████╔███████╗\n"+
  10. "\t╚═════╝╚═╝  ╚═╝╚═════╚═╝  ╚═╝╚═════╝╚═╝            ╚═╝   ╚═════╝ ╚═════╝╚══════╝  By Afaik\n\n")
  11.  
  12. print("")
  13.  
  14. opt = "n"
  15. while opt.lower() != 's':
  16.     print("Introduzca la ruta a la carpeta que desea backupear")
  17.     rutaOrigen = input()
  18.     print(system("ls " + rutaOrigen))
  19.     sleep(1)
  20.     print("Es ese el contenido de tu carpeta ? s/n")
  21.     opt = input().lower()
  22.  
  23. opt = "n"
  24. while opt.lower() != 's':
  25.     print("Introduzca la ruta a la carpeta de destino")
  26.     rutaDestino = input()
  27.     print(system("ls " + rutaDestino))
  28.     sleep(1)
  29.     print("Es ese el contenido de tu carpeta ? s/n")
  30.     opt = input().lower()
  31.  
  32. print()
  33. print("ORIGEN: " + rutaOrigen)
  34. print("DESTINO: " + rutaDestino)
  35. print()
  36.  
  37.  
  38. opt1 = ""
  39. while (opt1.lower() != 's') and (opt1.lower() != 'n'):
  40.     print()
  41.     print("OPCION: Backup Incremental.")
  42.     print("Eliminar en DESTINO los archivos que no estan en ORIGEN ? s/n")
  43.     opt1 = input().lower()
  44.  
  45. if opt1 == 's':
  46.     delete = True
  47. elif opt1 == 'n':
  48.         delete = False
  49.  
  50. if delete == True:
  51.     print()
  52.     print("Como pueden eliminarse archivos, se mostraran los cambios para ver que estos sean correctos")
  53.  
  54.     print(system("rsync -azP --delete --dry-run " + rutaOrigen + " " + rutaDestino))
  55.  
  56.     print()
  57.     print()
  58.     opt3 = ""
  59.     while (opt3.lower() != 's') and (opt3.lower() != 'n'):
  60.         print("Son estos cambios correctos ?? s/n")
  61.         opt3 = input().lower()
  62.  
  63.     if opt3 == 's':
  64.         system("rsync -azP --delete " + rutaOrigen + " " + rutaDestino)
  65.  
  66. else:
  67.     opt3 = ""
  68.     while (opt3.lower() != 's') and (opt3.lower() != 'n'):
  69.         print("Esta seguro de copiar los archivos ?? s/n   (se mostrara el progreso)")
  70.         opt3 = input().lower()
  71.  
  72.     if opt3 == 's':
  73.         system("rsync -azP " + rutaOrigen + " " + rutaDestino)


Para utilizar simplemente desde la consola escribimos
Código: [Seleccionar]
$python3 backupScript.py
Espero que les sea de ayuda ! :D

Saludos


Con la fuerza del mar, con la paz del rio


 

¿Te gustó el post? COMPARTILO!



[Script] Binario A Ascii / Ascii A Binario

Iniciado por Snofit

Respuestas: 1
Vistas: 3295
Último mensaje Abril 22, 2018, 09:21:54 pm
por Zentraedi
[Script] Instalar automáticamente todas las herramientas de Kali Linux

Iniciado por LionSec

Respuestas: 16
Vistas: 11998
Último mensaje Abril 05, 2017, 02:42:29 am
por frykytxuso
[Script] Calcular el Área de un triangulo conociendo solo los vertices

Iniciado por Dharok

Respuestas: 0
Vistas: 2308
Último mensaje Septiembre 09, 2015, 02:14:21 pm
por Dharok
script en python para envio de mail con cuenta en gmail

Iniciado por StepClose

Respuestas: 3
Vistas: 4198
Último mensaje Junio 12, 2018, 03:09:03 am
por master_bin
Rifap - Un script para reunir la informacion de un telefono en mas de 232 paises

Iniciado por DtxdF

Respuestas: 4
Vistas: 4704
Último mensaje Julio 05, 2018, 02:34:56 am
por DtxdF