Per ora ho risolto usando rsync + ssh + crontab.
Ho creato uno scriptino semplice semplice backup.sh.
Poi coi privilegi di amministratore ho dato il comando crontab -e ed ho aggiunto una riga per avviare periodicamente lo scriptino:
0 23 1 * * /home/utente/scripts/backup.sh
dove:
- il primo numero rappresenta i minuti in cui si avvia il backup.
- il secondo l'ora.
- il terzo il giorno del mese.
- il quarto il mese dell'anno (con * significa tutti i mesi)
- il quinto il giorno della settimana (con * significa tutti i giorni della settimana)
- la directory contenente lo script da avviare automaticamente.
Quindi nel mio caso lo script si avvierà alle 23 del 1° giorno di ogni mese.
Dentro lo scriptino backup.sh ho scritto 2 righe di codice in croce:
sudo rsync -avz --delete -e ssh /home/utente/
[email protected]:/media/FC7C16247C15D9EA/backup
che permette di salvare la home dentro il pc con indirizzo 192.168.1.101
Le opzioni:
--delete servono a cancellare i file contenuti in backup che non sono più presenti nella posizione originaria
-v = verbose
-a = duplica anche le sottodirectoy in modo ricordsivo
-z = comprime i file durante il trasferimento
Ad ogni modo col comando man rsync è tutto ben spiegato con gli esempi
Infine ho configurato ssh in modo tale che non mi chiedesse la password ogni volta.
In pratica in locale, dove risiede il materiale da salvare ho dato:
ssh-keygen -t rsa
ed ho dato sempre invio senza mai scrivere nulla durante le opzioni
Così nella directory /home/utente/.ssh sono state create le 2 chiavi:
id_rsa -> chiave privata da mantenere in locale
id_rsa.pub -> chiave pubblica da trasferire sul pc remoto
Ho creato nel computer remoto un file authorized_keys interno alla directory /home/utente/.ssh ed infine ho spostato il contenuto della chiave pubblica dentro tale file col comando:
cat /home/utente/.ssh/id_rsa.pub | ssh remoteuser@remotehost 'cat >> .ssh/authorized_keys'
Ho lanciato lo script backup.sh e funziona!
Spero di esser tornato utile a qualcuno :)
Se avete qualche suggerimento per migliorare il mio sistema indicatemelo pure.
Una domanda: ora se dovessi formattare quali sono le directory che dovrei salvare con lo script oltre alla home?