Ciao Alessandro...
in relatà non ho mai fatto il backup della nas, quindi non ho nulla da
verificare come integrità dei precedenti backup.
il backup che farò, in prima battuta, è della sola parte utente
"/home" e "/root", della parte di sistema, mi interessano solo un paio
di configurazioni, che mi copierò esplicitamente (non copio tutta
/etc, per intenderci.
in ogni caso, ho intenzione di attivare uno snapshot del sistema,
prima di procedere al backup, per non trovarmi con file/direcotry
bloccate, ma qui, devo chiarirmi un po' le idee prima...
Ho sempre fatto un po' di confusione su quello che devo andare a
copiare... se lo snapshot o la directory nativa...
In quale modo mi suggerisci di verificare poi l'integrità del backup?
E' mia intenzione di usare un banale rsync, in quanto i due HDD su cui
faccio il backup, non mi coprono l'intera struttura, devo quindi
spezzarli sui due dischi separatamente e in tempi diversi
(probabilmente addiritura in tempi diversi, visto che per ora ho solo
una sola interfaccia usb da collegare).
Ciao e buona domenica.
Se usi rsync, il primo consiglio che mi sento di darti è quello di
generare uno storico dei backup. Se continui ad eseguire il sync/backup
solo tra due dir hai solo l'ultima versione e non i pregressi tipo (con
hardlink per salvare spazio):
(in maniera molto semplificata)
mkdir -p /mnt/backup/{archive,dataset}
rsync -av --delete src/ /mnt/backup/dataset/
mkdir /mnt/backup/archive/backup-$(date "+%d_%m_%Y")
cp -al /mnt/backup/dataset/* /mnt/backup/archive/backup-date
per quanto riguarda l'ultimo comando rsync ha un'opzione per usare gli
hardlink ma io preferisco dividere il processo di sync dal processo di
"snapshot".
Per il discorso dell'integrità generalmente un controllo con checksum
dovrebbe essere sufficiente. Ricalcolare un checksum di un intero
dataset (molto grande) potrebbe essere una lunga operazione. Per fortuna
rsync ci viene in aiuto con l'opzione --out-format attraverso la quale
possiamo stampare l'output in maniera personalizzata tra cui l'md5sum
del file sincronizzato tipo rsync -av --out-format="%n;%C" che fa
stampare (se non erro) il nome del file e il relativo md5sum, che potrai
salvare nel modo che preferisci (NOTA: l'md5 viene riportato solo per i
file quindi nell'output di rsync dovresti eliminare tutto tranne i file.
Per semplificare l'operazione potresti inserire nell'out-format anche il
%i che simula l'itemize-change e attraverso il quale potresti estrarre
il tipo di file.) Una volta salvato il "manifest" con gli md5 potresti
eseguire un controllo sui file riportati iterando il tutto.
Nota: md5 ahime è quello che rsync al momento supporta, e per un
controllo di integrità dei file puo andare bene.
So che puo sembrare macchinoso ma è un'idea.
Potresti usare anche altri sistemi come borgbackup (che sto testando per
un mio uso). È semplice, crei un repo (cifrato se preferisci e remoto se
preferisci), lanci borg create ..... e fa il backup con deduplicazione
(molto più efficiente degli hardlink perche è la deduplicazione è sui
blocchi). Per il controllo lanci semplicemente un borg check sul
repository o sull'archivio e ti riporta lo stato del tutto. Anche qui
hai bisogno di creare il tuo script bash per fare il tutto ma è molto
piccolo. L'unica cosa che non mi fa impazzire di borg è che non supporta
nativamente il pull backup...per il resto è molto efficiente e puoi
usare ssh (come con rsync) per repository remoti. Ora la mia paura di
borg è che aggiungere deduplicazione, compressione e cifratura (3
livelli) rende il tutto (in particolare i file dove tutto viene salvato)
molto complesso e se qualcosa si rompe...sarebbe dura recuperarlo.
Non vorrei andare off-topic ma qualcuno con più esperienza con rsync,
borg o altri sistemi di backup potrebbe aiutarci in maniera più precisa
magari con altre soluzioni migliori.
Un saluto.