Newsgroup: it.comp.os.linux.sys
Titolo: Rsnapshot, rimuovere vecchi backup per fare spazio

Ciao,
mi viene un dubbio,
uso rsnapshot per fare i backup e
ho un HD cosě messo:
 
drwxr-xr-x  3 root root 4096 26 mar 01:14 daily.0
drwxr-xr-x  3 root root 4096 25 mar 01:16 daily.1
drwxr-xr-x  3 root root 4096 24 mar 01:20 daily.2
drwxr-xr-x  3 root root 4096 22 mar 01:15 daily.3
drwxr-xr-x  3 root root 4096 21 mar 01:13 daily.4
drwxr-xr-x  3 root root 4096 20 mar 01:12 daily.5
drwxr-xr-x  3 root root 4096 19 mar 01:12 daily.6
drwxr-xr-x  3 root root 4096 23 nov 01:21 monthly.0
drwxr-xr-x  3 root root 4096 15 set  2013 monthly.1
drwxr-xr-x  3 root root 4096 17 ago  2013 monthly.2
drwxr-xr-x  3 root root 4096 21 lug  2013 monthly.3
drwxr-xr-x  3 root root 4096 25 mag  2013 monthly.4
drwxr-xr-x  3 root root 4096 18 mag  2013 monthly.5
drwxr-xr-x  3 root root 4096 21 apr  2013 monthly.6
drwxr-xr-x  3 root root 4096 15 mar 01:15 weekly.0
drwxr-xr-x  3 root root 4096  9 mar 01:16 weekly.1
drwxr-xr-x  3 root root 4096 11 gen 01:24 weekly.2
drwxr-xr-x  3 root root 4096  5 gen 01:21 weekly.3
 
Ora non ho piů spazio e vorrei eliminare i monthly piů vecchi.
Posso dare un rm -rf monthly.6 monthly.5 monthly.4 ?
 
Quelli piů recenti non perdono dati giusto ?
Grazie!!
 
-- Yena --

 Quelli più recenti non perdono dati giusto ?
 
No, perche` rsnapshot utilizza gli hard link tra un dataset e l'altro per 
fare i backup (e` uno dei presupposti su cui mi sono basato per scrivere il 
mio sistema di backup). In tal senso, tieni presente che cancellare i vecchi 
dataset potrebbe non farti recuperare nulla
 
Enrico


Puoi spiegarmi meglio per favore? 
Non riesco a capire questo: se ho un file, ad esempio "daily.0", e creo
un soft link a quel file, se poi cancello "daily.0" allora il link
simbolico risultera` interrotto e non potro` piu` accedere a quel file.
Se invece creo un hard link di "daily.0" e poi cancello "daily.0", il
link fisico continuera` ad essere valido e a puntare all'inode dell'hard
disk dove era stato salvato "daily.0" per cui potro` ancora accedere a
quel file.
 

 Puoi spiegarmi meglio per favore?
 
Faccio prima a mostrartelo:
 
(da man ls):
       -i, --inode
              print the index number of each file
 
[enrico@localhost tmp]$ echo "test" > test
[enrico@localhost tmp]$ ln -s test2 test
[enrico@localhost tmp]$ ln -s test test2
[enrico@localhost tmp]$ ln test test3
[enrico@localhost tmp]$ ls -li test test2 test3
972044 -rw-rw-r--. 2 enrico enrico 5 Apr  6 22:30 test
986574 lrwxrwxrwx. 1 enrico enrico 4 Apr  6 22:31 test2 -> test
972044 -rw-rw-r--. 2 enrico enrico 5 Apr  6 22:30 test3
[enrico@localhost tmp]$
 
Come vedi test2 ha un puntamento di inode differente rispetto a test e 
test3. Questo perche` la differenza sta nel fatto che il symlink (test2) si 
differenzia da un hardlink (test e test3) per per il fatto che il primo e` 
praticamente un file speciale con dentro il percorso del file a cui fa 
riferimento, mentre il secondo e` praticamente un puntamento all'inode del 
file originale. Questo significa che:
 
 - Un hard link e` fattibile solo su file per evitare problemi di
   ricorsivita` infinita tra directory (mount -t bind emula pero` un hard
   link tra directory).
 - Un hard link non puo` puntare a file presenti su file system differenti
   da quello in cui si trova il file originale.
 - Un hard link permette di salvare dello spazio su disco, in quanto tutti i
   puntamenti fanno riferimento agli stessi inode.
 - Di contro, un file viene effettivamente cancellato solo quando non vi
   sono piu` hard link che puntano ad esso.
 
Per riprendere il discorso originale, rsnapshot (<spam> ma cosi` anche il 
mio programma di backup Memento :) </spam>) utilizza estensivamente hard 
link tra dataset proprio per salvare spazio ed ottimizzare il trasferimento 
dei dati (se il file non e` stato modificato, faccio un hard link e non lo 
riscarico). Di conseguenza, se ho i dataset daily.0 e daily.1 che secondo ls 
occupano e.g. 15Gb il primo e 20Gb il secondo, rimouvere il secondo non 
significa automaticamente liberare 20Gb di spazio, ma paradossalmente 
potrebbero essere cancellati solo pochi Kb, a causa del fatto che sono stati 
eseguiti degli hard link tra i dataset (mi viene in mente un server web in 
cui il contenuto di /var/www rimane immutabile, con la conseguenza che un 
backup giornaliero si differenziera` solo per la dimensione dei log tra un 
dataset e l'altro)
 
Enrico


 
Grazie !
Chiarissimo
 
-- Yena --
 
Ps. il tuo memento è questo?
http://sourceforge.net/projects/mementobackup/
 
 
 

 significa automaticamente liberare 20Gb di spazio,
 
Ora è molto più chiaro quello che intendi, credo di interpretare anche la
confusione di M_M perché dal tuo precedente
"In tal senso, tieni presente che cancellare i vecchi dataset potrebbe non
farti recuperare nulla"
 
io avevo capito che ti riferissi all'impossibilità di recuperare _i dati_ dal
backup daily.1 dopo aver cancellato daily.0 e non di recuperare _spazio libero_
e questo era ovviamente il contrario di quanto mi aspettavo con hardlink.
 
 
-- 
Andrea