Rsync ha modificato solo i file


14

È possibile rsynctrasferire tutti i file in una directory che sono stati modificati o creati? Non ho bisogno di qualcosa di sofisticato come un controllo differenziale CRC; i file con timestamp e / o dimensioni di file diversi vengono conteggiati come modifiche.

Dalla pagina man ho l'impressione che dovrebbe essere possibile, ma ho bisogno di una piccola guida su quale set di parametri passare rsync.

Risposte:


19

Per sincronizzare solo due directory:

$ rsync /source/path/* /dest/path/

O se vuoi fare un intero albero:

$ rsync -a /source/path/ /dest/path/

"-a" specifica la modalità "archivio", dove duplica l'albero il più vicino possibile.

Mi piace aggiungere le bandiere ve Plì dentro in modo che io possa vederlo funzionare:

$rsync -avP /source/path/ /dest/path/

"-v" attiva la modalità dettagliata, quindi puoi vedere cosa sta facendo (elenca i file mentre copiano), e "-P" consente lo stato di avanzamento, quindi puoi vedere quanto tempo impiega a copiare ogni file (percentuale copiata, tempo rimanente, ecc.) e ti consente di vedere quanto lontano sei nella copia.


3
... e forse aggiungere il flag z per usare la compressione per il trasferimento
Linker3000

4
... se ti stai trasferendo in una posizione remota
Majenko,

14

Ecco come rsyncfunziona di default (almeno su Linux). Dalla pagina man :

Rsync trova i file che devono essere trasferiti usando un algoritmo di "controllo rapido" (per impostazione predefinita) che cerca i file che sono cambiati nelle dimensioni o nell'ultima modifica. Eventuali modifiche negli altri attributi conservati (come richiesto dalle opzioni) vengono apportate direttamente sul file di destinazione quando il controllo rapido indica che non è necessario aggiornare i dati del file.


Ah, mi ero confuso leggendo male la documentazione. Grazie :)
instanceofTom
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.