[Linuxtrent] Re: micro-script di backup con rsync

  • From: Emanuele Olivetti <emanuele@xxxxxxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Thu, 11 Dec 2008 11:32:13 +0100

Vincenzo D'Andrea wrote:
 ...

 Non ci avevo pensato. Ma ne hai così tanti di hard link-ed file?

 Invece non capisco come mai usi quel meccanismo "manuale" della
 directory "last" che poi rimuovi. Non puoi semplicemente usare
 l'opzione --backup ?
 Tra l'altro se vuoi puoi anche specificare una directory diversa, un
 po' come fai già per --partial.


L'idea e' quella di avere tanti snapshot consistenti, differenziati
dalla data. Se eseguo lo script in giorni diversi ottengo una
directory per ognuno dei giorni e ciascuna comprende _tutti e soli_ i
file presenti in quel giorno sul mio portatile. Esempio:
2008-12-10/
2008-12-11/
...

Siccome solo pochi file cambiano tra un backup e l'altro allora cerco
di ridurre al minimo le duplicazioni dei file che non sono cambiati
(per esempio tra 2008-12-10/ e 2008-12-11/) una utilizzando il
meccanismo degli hard link. Ovvero, di base ogni nuovo backup
(es. 2008-12-11/) e' semplicemente una copia completa del backup
precedente (es. 200-12-10/) ma fatta solo tramite hard links
(--link-dest=..../last); rsync poi calcola le differenze tra questa
nuova copia e lo stato del mio portatile e aggiorna solo quello che e'
cambiato. Nel mio caso tengo nel backup circa 20 mila file per un
totale di 4.2Gb (es. in 2008-12-10/). Una copia di tutto l'albero
tramite hard links occupa solo ~500K (es. 2008-12-11/). Su questa
rsync aggiunge le modifiche quotidiane (massimo qualche Mb). Da un
punto di vista logico 2008-12-11/ contiene tutti i file di oggi del
mio portatile, ma da un punto di vista fisico, sono quasi tutti hard
link a file in backup di giorni precedenti, quindi lo spazio non e'
sprecato.

Da quello che ho capito invece il meccanismo di funzionamento di
"--backup" e "--backup-dir=..../backupdir" e' differente. Li' vengono
messe le copie vecchie dei file che sono cambiati. Ma questo non vuol
dire (correggetemi se sbaglio) che backupdir/ contiene uno snapshot
consistente del mio filesystem ad una certa data. E' solo una
collezione dei diff nel tempo. Se volessi ripristinare la situazione
precedente all'ultimo backup dovrei decidere a mano cosa prendere e
cosa non prendere. Il che e' laborioso e magari insolubile in certi
casi.

 Per il resto tutto uguale a parte la compressione di -z che non avevo
 notato ci fosse. Grazie per il suggerimento, a volte con connessioni
 lente è una vera pena!

Puoi aumentare il livello di compressione per guadagnare banda:
--compress-level=9 . Qualche volta aiuta davvero. Io lo uso.
In alternativa si puo' usare la compressione di ssh: -e "ssh -C"
Ma non mi e' chiaro come impostare al volo il livello di compressione
come invece si fa con -z e --compress-level=9.

Ciao,

Emanuele

--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: