Newsgroup: it.comp.os.linux.iniziare
Titolo: Dubbio dimensione rsync

Hoil bisogno di fare backup incrementali.
Ho fatto il backup della mia /home/ale in una directory di prova 
/provaBACKUP. Il comando che ho usato è:
"rsync -a -v --delete /home/ale /provaBACKUP".
Però ora la dimensione di /home/ale (1.663.464.251) è diversa da quella 
di /provaBACKUP/ale (1.666.375.768), perchè ?


3 domande:
- Il numero dei files di /home/ale e /provaBACKUP/ale sono gli stessi?
- Sono sulla stessa partizione o su partizioni differenti?
- Se sono su partizioni differenti, utilizzano lo stesso filesystem? (lo
stesso file, specialmente quando piccolo, occupa spazio differente su
filesystem differenti)
LP

 di /provaBACKUP/ale (1.666.375.768), perchč ?
Sono sullo stesso file system?
Non sullo stesso tipo, proprio sulla stessa partizione/volume.
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

 - Sono sulla stessa partizione o su partizioni differenti?
No, sono su partizioni diverse, ma con lo stesso tipo di filesystem 
ext3. /home/ale è su /dev/hdc3 e /provaBACKUP è su /dev/hdc4.


> LP
LP


Ho fatto un'ulteriore prova in una directory di destinazione diversa: 
/alebackup ed il numero di file è ora uguale.
Il backup lo avevo lanciato anche prima come utente root e probabilmente 
  era una differenza dovuta all'opzione --delete, però come utente root, 
aveva qualsiasi permesso anche di cancellare file vecchi!
Ora però, seppur il numero di file è uguale, la cartella di backup è di 
dimensione inferiore (/alebackup 1.674.899.863 e /home/ale 
1.675.000.623). Ribadisco che sono su partizioni diverse ma entrambe di 
tipo ext3; la differenza è dovuta a questo ?

 tipo ext3; la differenza è dovuta a questo ?
Ext3 dovrebbe avere (tra le opzioni di formattazione) la dimensione dei
blocchi.
Dalla pagina del man mkfs.ext3:
       -b block-size
              Specify the size of blocks  in
              bytes.  Valid block size vales
              are 1024, 2048 and 4096  bytes
              per block.  If omitted, mke2fs
              block-size  is   heuristically
              determined  by the file system
              size and the expected usage of
              the  filesystem  (see  the  -T
              option).   If  block-size   is
              negative, then mke2fs will use
              heuristics  to  determine  the
              appropriate  block  size, with
              the constraint that the  block
              size  will  be at least block-
              size bytes.   This  is  useful
              for  certain  hardware devices
              which require that the  block‐
              size be a multiple of 2k.
Quindi se le due partizioni hanno dimensioni differenti, è molto
probabile che i blocchi siano di dimensione differenti, quindi un file
da 10 byte, da una parte prende 1024 bytes (1 blocco) e dall'altra 2048.
Per files di qualche mega, la differenza è minima.
Con tanti files, soprattutto se molti sono piccoli (circa le dimensioni
del blocco), la cosa è evidente.
Comunque, per tagliare la testa al toro, fai un bel md5sum sui files.
Se quello dice che sono ok, allora puoi stare tranquillo.
I paranoici farebbero un controllo md5, sha1 e crc32.
Md5 ha una bassa probabilità di collisioni, sha1 ancora più bassa, crc32
bassa (non so in che misura rispetto agli altri), ma la probabilità di
beccare una collisione su tutti e 3 gli algoritmi contemporaneamente è
praticamente zero (se ti capita, vai a Lourdes :D )
Luca

Luca Pascali ha scritto:

Ahah...grazie per la risposta! Se puoi darmi ancora un aiutino, come si 
fa il controllo md5sum ?
Sarebbe un codice calcolato prendendo in considerazione l'insieme di 
tutti i dati ?

 tutti i dati ?
Si può dire così. È un algoritmo di hashing che ha la particolarità di
presentare differenze notevoli nei codici generati a fronte di piccole
differenze dei dati in ingresso. In pratica, 2 file differenti per avere
lo stesso codice devono essere sostanzialmente differenti (bassa
probabilità di collisioni), gli errori di elaborazione o trasmissione,
invece, possono interessare solo pochi bytes o troncare il file, quindi
portano a codici differenti.
LP

 Comunque, per tagliare la testa al toro, fai un bel md5sum sui files.
O magari un bel
diff -r /home/ale /alebackup
che si dovrebbe concludere (zzzzzzz... ronf ronf ronf...) senza alcun
output. 
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum
__________________________________
Combatti l'AIDS col tuo computer: 
http://fightaidsathome.scripps.edu/