V Gnu / Linuxu obstajajo različni programi za varnostno kopiranje, vendar so mi osebno všeč preproste stvari, daleč od grafičnih vmesnikov (ki seveda nimajo nič narobe, če pa se temu lahko izognem, se izognem).
V ukazu rsync je mogočen zaveznik varnostnih kopij, ki ga pogosto pozabimo narediti. Ima dovolj možnosti za kopiranje z vsemi potrebnimi zahtevami.
Naslednji skript python v ta namen naredi varnostne kopije. Videli boste, da je zelo preprost in celo za tiste, ki tega jezika nimajo popolnoma pojma, je dodajanje vrstice za skript za sinhronizacijo novega imenika takoj.
V svojem računalniku uporabljam zunanji trdi disk, ki sem ga imenoval IOmega_HDD, v vašem primeru pa ga lahko v skriptu preimenujete glede na vaš primer.
Druga stvar je dodati ali odstraniti imenike iz kopije. V istem skriptu kot vrstica za komentar je razloženo, kako to storiti.
Za avtomatizacijo naloge lahko v crontab dodate vrstico, ki vsebuje interpreter python in pot, kamor želite postaviti skript. Upam, da je koristno za vas.
Opozorilo: urejevalnik wordpress ne dovoljuje presledkov na začetku vrstice, zato je v skriptu izgubljena potrebna vdolbina, zato sem prazne presledke zamenjal s pikami (.), ki jih morate odstraniti z urejevalnikom in zamenjati s presledki .
-------------------------------
# -*- coding: utf-8 -*-
import os
ruta_usuario=os.getcwd()
ruta_volumen="/media/Iomega_HDD" #Modificar según nombre de disco externo
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("Imágenes")
....directorios_origen.append("Descargas")
....#Añadir aquí otros directorios que se deseen sincronizar
....#o eliminar de las líneas anteriores los que no se deseen
....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"
except OSError:
print "Ha ocurrido un error ¿está el disco externo listo?"
except:
print "Ha ocurrido un error"
---------------------------