Backup diferencial e incremental con FreeFileSync

atio

 

Pode resultar de utilidade dispoñer dunha copia de seguridade nun servidor. Para iso podemos empregar Dropbox, por exemplo. ao instalar a aplicación de Dropbox, xera esta xera  unha carpeta no equipo local, que sincroniza coa carpeta que desexemos do servidor.

Sen embargo é posible que desexemos empregar un servidor propio e non un dunha empresa privada, co cal temos garantida a intromisión en documentos privados. Tamén podemos gardar documentos no equipo da casa desde o traballo.

A solución que plantexamos aquí pretende ser visual e clara (unha vez instalada e configurada), para evitar o uso de software como o scp ou o rsync por medio do terminal.

PASO 1. ACCEDER AO SERVIDOR SEN CONTRASINAL

Debemos de instalar openssh-server no servidor de destino. Ademais debemos de acceder ao mesmo sen ter indicar o contrasinal cada vez que accedemos a el.

a. Probamos se podemos acceder

ssh usuario@dominio.net

b. Xeramos unha clave pública ssh, no cliente.

ssh-keygen -b 4096 -t rsa

No meu caso non especifiquei ningún nome nin passphrase

xerar_clave

Como resultado, obteremos dous ficheiros en /home/usuario/.ssh, id_rsa e id_rsa.pub

c. Exportámola clave ao servidor

ssh-copy-id usuario@dominio.net

Podemos indicar a IP do servidor en vez do dominio (neste caso un inventado chamado dominio.net).

d. Probamos novamente a acceder con ssh sen que teñamos que engadir o contrasinal

 

PASO 2. INSTALACIÓN DE SOFTWARE NO CLIENTE.

a. sshfs

apt install sshfs

b. Descargamos o software FreeFileSync da súa páxina web. Como na páxina de descargas teñen a versión para Debian Stretch, e non para Jessie, por exemplo, debemos de descargar o software da seguinte páxina:

https://www.freefilesync.org/archive.php

freefilesync

Gardamos, descomprimos o ficheiro e copiámolo cartafol resultante en /opt. Creamos un lanzador do ficheiro FreeFileSync.

sudo ln -s /opt/FreeFileSync/FreeFileSync /usr/bin/FreeFileSync

Agora, escribindo a instrución FreeFileSync no terminal, debe de abrir o software de sincronización.

Tamén debemos de darlle permisos de Escritura ao cartafol dos logs, para que non imprima un erro:

chmod -R 777 /opt/FreeFileSync/Logs

PASO 3. CREACIÓN DUNHA CARPETA NO CLIENTE

Creamos unha carpeta no ordenador local que será a que sincronicemos co servidor.

mkdir /home/usuario/backup

dámoslle permisos de escritura

chmod -R 777 /home/usuario/backup

PASO 4. MONTAR O CARTAFOL REMOTO NA CARPETA LOCAL

No exemplo que describo a continuación, o servidor remoto chámase dominio.net, pero valería tamén indicar a ip do mesmo. Seguidamente definimos que cartafol queremos sincronizar coa carpeta do cliente definida no PASO 3.

sshfs usuario@dominio.net:/var/www/html/proba /home/usuario/backup

Se abrimos o explorador de ficheiros, podemos observar o cartafol "backup" montado tal e como se aprecia na seguinte imaxe:

thunar

Agregamos a instrución anterior ás aplicacións de inicio. Para iso dirixímonos a Menú de Inicio > configuración > xestor de configuración > Sesión e inicio e engadimos unha nova aplicación. Esta aplicación chamará a un script que gardamos por exemplo en /home/usuario/.config. Neste caso chamámoslle cargar_cartafol_remoto.sh. Co sleep 10, deixamos que cargue o entorno previamente a montar a unidade.

#!/bin/bash
sleep 10
sshfs usuario@dominio.net:/var/www/html/proba /home/usuario/backup

Deberemos de darlle permisos de execución ao script:

chmod +x cargar_cartafol_remoto.sh

 

cargar_inicio_thunar

PASO 5. ABRIR O SOFTWARE DE SINCRONIZACIÓN FreeFileSync

Pode ser de utilidade engadir o programa ao menú de Sistema. Para iso empregamos o programa menulibre, que o chamamos desde o terminal:

menulibre

Seleccionamos Sistema e prememos no botón +, elixindo a opción AddLauncher. Eliximos unha icona que nos guste e en Command engadimos a instrución FreeFileSync. Aplicamos e gardamos na segunda icona, na parte superior.

menulibre

Abrimos o FreeFileSync. Á esquerda teremos o cartafol local, onte temos os datos. Á dereita seleccionamos o cartafol /home/usuario/backup, que aínda que está en no cliente, é o que sincroniza con cartafol do servidor

cartafoles

Prememos en comparar , e despois en Sincronizar.  Dispoñemos de varias opcións de sincronización, en función do tipo de sincronización que queremos facer entre o cartafol do cliente e do servidor (ver opcións, premendo F8). Obviamente a velocidade de sincronización depende do ancho de banda que dispoñamos.

sincronizando

PASO 6. SINCRONIZACIÓN AUTOMÁTICA.

Se queremos manter unha sincronización desatendida podemos engadir unha tarefa ao crontab -e  do usuario, para que se execute de maneira automatizada. Se o queremos facer desde un entorno gráfico, podemos empregar o gnome-schedule

O primeiro que debemos de facer é desde o FreeFileSync gardar a tarefa por lotes, no cartafol desexado e engadir a tarefa a crontab -e, definindo o intervalo de execución.

* * * * * DISPLAY=:0 sync /home/usuario/Escritorio/SyncSettings.ffs_batch

Se queremos que se execute cada seis horas no minuto 45:

46 */6 * * * DISPLAY=:0 sync /home/usuario/Escritorio/SyncSettings.ffs_batch

 

 

Termo

Engadir un novo comentario