In quanti si sono sentiti ripetere, dopo l'ennesimo blackout, ( vi aspettavate "cambia filesystem e metti ext3 al posto di reiserfs" ... lo so che ve l'hanno detto - ed hanno ragione - ma la frase e' un altra.. )
" FAI IL BACKUP DEI TUOI DATI " ?
In molti lo so.. il mio prof di Sistemi Operativi lo diceva sempre.. persino quando gli chiedevo se potevo portargli il PC per fargli vedere il mio nuovo driver della ventolina del PC.
Beh, il senso del post, oltre a mettervi paura, e' quello di insegnarvi un nuovo comando per backuppare i vostri dati. Si, direte voi, a cosa mi serve? Ho scaricato l'ultima versione di Copio&&Salvo 3.0.3 ( e l'ho crackata.. anche se e' GPL mi piace crackare i programmi coi serialZ trovati sui siti di wareZ ) che funziona benissimo.. Oppure state usando cp da tempo immemore, ( non nomino dd perche' solo chi non ha cervello usa dd per backuppare i dati ) cosa che va piu' che bene ma che si puo' fare in un modo molto piu' veloce.
Innanzitutto, il comando e' questo:
(cd /src/dir && tar cf - . ) | ( cd /dst/dir && tar xf -)Quelli di voi che conoscono gia' la bash e il comando tar puo' gia' dire " Accidenti, e' vero! ", copiare / incollare la riga sopra nel loro scriptino in cron e chiudere il browser.
Per tutti gli altri, direi di studiarsi la nozione di pipeline: Una volta assorbita, possiamo capire che il nostro comando entra nella directory da copiare, e se cio' ha successo ( le && sono l'and logico in bash, eseguo solo se il comando prima e' ritornato con VERO ) eseguo tar con i parametri c ( create ) e f ( file ). Il - sta ad indicare lo stdout e il . la directory corrente. Cioe' creo un archivio della directory corrente sullo stdout, lo passo attraverso pipeline al comando che mi entra nella dir di destinazione e, se cio' ha successo, avvia tar, con opzione x ( extract ) ed f ( file ). Il - in questo caso indica stdin; quindi estrae l'archivio passatogli da stdin ( e la pipeline fa proprio questo, unisce stdout del primo comando allo stdin del secondo ).
Abbiamo backuppato i nostri dati nella nostra directory di destinazione; il tutto in modo molto piu' veloce rispetto all'aver usato solo cp ( fate una prova con time ... ). Come esercizio per casa, provate a capire il perche' di questa velocita' in piu' .