PDA

View Full Version : [Console] Aggiornamento cartelle-file


ZJack
23-11-2013, 10:45
Salve a tutti, vorrei chiedervi se sapete come fare un aggiornamento/update tra due hard disk usando linux (liveCD, quindi senza installare programmi).
Sintetizzando: Ho due hard disk, X e Y: X che sto usando (aggiornato) e Y che uso come backup (vecchio) copiandoci tutto quello che c'è in X.
Come posso aggiornare Y usando la console di Linux? Conosco il comando "cp -u" (con -r ecc), ma se ad esempio avessi una situazione simile:

[old Y]

A
- B
- - b.txt
- - b.dat (sarà spostato in C)
- C
- - c.exe (non c'è più in X)
- a.rom


[new X]

A
- B
- - b.txt
- C
- - b.dat (era in B)
- a.rom
- a.abc (nuovo)

[le cartelle sono con le lettere maiuscole, A è la cartella principale che contiene B e C]

Con il comando "cp -u" dovrebbe copiarmi il nuovo a.abc in A e b.dat in C; però mi rimarrebbero anche c.exe in C e b.dat in B, che ovviamente voglio eliminare da Y.
C'è una soluzione (altre opzioni per 'cp' o un altro comando) per eliminare i file/cartelle che ci sono ancora in Y ma non esistono più in X?
Gli hard disk sono entrambi NTFS, ma non mi risulta sia un problema.

Grazie in anticipo

Gimli[2BV!2B]
23-11-2013, 12:11
rsync (http://en.wikipedia.org/wiki/Rsync)? Lo sto giusto usando per sincronizzare il mio disco di backup.

Lista delle differenze:rsync -rltiv --dry-run --delete --delete-during --force /percorso/cartella/ORIGINALE/ /percorso/cartella/BACKUP/
-r, --recursive recurse into directories
-l, --links copy symlinks as symlinks
-t, --times preserve modification times
-i, --itemize-changes
Requests a simple itemized list of the changes that are being made to each file, including attribute changes.
-v, --verbose increase verbosity
-n, --dry-run perform a trial run with no changes made
--delete delete extraneous files from dest dirs
--delete-during receiver deletes during the transfer
--force force deletion of dirs even if not empty
Togliendo --dry-run le modifiche proposte verranno applicate.
Se il trasferimento avviene via rete può essere utile l'opzione -z che comprime i dati durante il trasferimento.


Vedi man rsync (http://www.mankier.com/1/rsync) per dettagli (ci sono davvero tante opzioni, più le spiegazioni delle righe di riepilogo)

ZJack
23-11-2013, 14:54
Fantastico, faccio qualche ricerca e poi provo.

Grazie mille :)