Essendo migrato a Linux da Windows, vorrei trovare un software alternativo a Winmerge o meglio imparare gli strumenti da riga di comando per confrontare e sincronizzare due cartelle su Linux. Ti sarei grato se potessi dirmi come eseguire le seguenti attività sulla riga di comando... (ho studiato diff e rsync, ma ho ancora bisogno di aiuto.)
Abbiamo due cartelle:“/home/utente/A” e “/home/utente/B”
La cartella A è il luogo in cui vengono salvati file e cartelle normali e la cartella B è una cartella di backup che funge da mirror completo della cartella A. (Nulla viene salvato o modificato direttamente dall'utente nella cartella B.)
Le mie domande sono:
-
Come elencare i file che esistono solo nella cartella B? (Es. quelli cancellati dalla cartella A dall'ultima sincronizzazione.)
-
Come copiare i file che esistono solo nella cartella B nella cartella A?
-
Come elencare i file che esistono in entrambe le cartelle ma hanno timestamp o dimensioni diverse? (Quelli che sono stati modificati nella cartella A dall'ultima sincronizzazione. Vorrei evitare di usare i checksum, perché ci sono decine di migliaia di file e renderebbe il processo troppo lento.)
-
Come fare una copia esatta della cartella A nella cartella B? Voglio dire, copia tutto dalla cartella A nella cartella B che esiste solo nella cartella A ed elimina tutto dalla cartella B che esiste solo nella cartella B, ma senza toccare i file che sono uguali in entrambe le cartelle.
Risposta accettata:
Questo mette la cartella A nella cartella B:
rsync -avu --delete "/home/user/A" "/home/user/B"
Se desideri i contenuti delle cartelle A e B per essere lo stesso, inserisci /home/user/A/
(con la barra) come fonte. Questo non prende la cartella A ma tutto il suo contenuto e lo inserisce nella cartella B. In questo modo:
rsync -avu --delete "/home/user/A/" "/home/user/B"
-a
Esegui la sincronizzazione preservando tutti gli attributi del filesystem-v
corri in modo dettagliato-u
copia solo i file con un'ora di modifica più recente (o differenza di dimensioni se i tempi sono uguali)--delete
elimina i file nella cartella di destinazione che non esistono nel sorgente
Pagina man:https://download.samba.org/pub/rsync/rsync.html