Il modo migliore per continuare a interrompere lo spostamento (mv) è unire le directory?


18

Ho spostato (mv) una directory piuttosto grande sul mio NAS (basato su Linux), ma ho dovuto interrompere la procedura. Non essendo un normale utente Linux, ho pensato di poter continuare e unire il resto in seguito.

mv /oldisk/a /newdisk

La procedura è stata eseguita a metà, quindi il resto di / oldisk / a esiste ancora e / newdisk / a con i file già copiati è già presente. Non ho idea di quali file siano già stati copiati. A proposito, sotto / oldisk / a, ovviamente, ci sono molte sottodirectory.

Quale sarebbe il modo migliore per spostare / unire i file rimanenti in / newdisk / a?

Risposte:


28

rsync --verbose --archive --dry-run /oldisk/a/ /newdisk/a/

Il --dry-run(o -n) farà una corsa a secco, mostrandoti cosa farebbe senza effettivamente fare nulla.

Se sembra a posto, esegui rsync senza l' -nopzione.

Questa sarà una copia, non una mossa, che non è proprio quello che stai facendo, ma è più sicura. Il --archive(o -a) assicura che tutti i metadati di proprietà e timestamp siano conservati (cosa che una copia normale non farebbe).


2
Copia è OK, è sempre possibile rimuovere la vecchia directory in un secondo momento.
Horst Walter,

4
È possibile utilizzare --remove-source-filesper eliminare i file che sono stati copiati correttamente. Inoltre, -Po --progressmostrerà una stima di quanti più file ci sono da fare.
deltab,

1
così come esempio di una mossa:rsync --remove-source-files --recursive --times --crtimes 1/* 2/
Sridhar Sarnobat,

1
@deltab, --progress disegna una nuova barra per ogni singolo file, invece c'è --info = progress2 per l'intero trasferimento.
把 友情 留 在 无 盐

Wow, è abbastanza triste. Mv è definitivamente rotto che ha bisogno di altri strumenti per fare ciò che dovrebbe essere in grado di fare da solo. Ho appena scoperto questo, mv rifiuta di scrivere in una directory esistente, il che è piuttosto patetico. È ora di sostituire questo comando con qualcosa di più funzionale.
nigratruo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.