GNU/Linux >> Linux Esercitazione >  >> Linux

Sincronizza due cartelle locali in bash

Ci sono molte più proprietà su rsync rispetto a quelle menzionate nella risposta precedente. Dovresti esaminarli tu stesso:

man rsync

Ma per il tuo problema suggerirei:

rsync -a --delete X Y

In questo modo, il ricevitore (Y) eliminerà qualsiasi file in suo possesso che non sia in X. Assicurati però di farlo bene. Usato in modo errato come root può facilmente uccidere il tuo sistema... :)


Dai un'occhiata a rsync(1). Ha lo scopo di fare praticamente esattamente quello che vuoi.

rsync -av X Y

Supporta la copia remota, tramite il proprio protocollo o ssh, ma può essere utilizzato anche localmente.

A seconda dell'esatto comportamento che desideri, potresti anche voler passare il --update opzione. Questo dirà a rsync di non sovrascrivere i file che già esistono sulla destinazione e che sono più recenti di quelli nell'origine.

Se vuoi rimuovere file extra (cioè file che esistono in Y, ma non in X) puoi aggiungere il --delete opzione.


Linux
  1. Conserva la data di modifica su directory/cartelle con Rsync?

  2. Linux:come sincronizzare due cartelle con gli strumenti della riga di comando?

  3. Il modo più breve per scambiare due file in bash

  4. RSync:come posso sincronizzare in entrambe le direzioni?

  5. Come elencare le cartelle usando i comandi bash?

Due ottimi usi per il comando cp:scorciatoie Bash

17 utili esempi di comandi rsync (sincronizzazione remota) in Linux

Mantenere sincronizzati file e directory Linux con rsync

Come sincronizzare automaticamente due server Web in Linux

Linux unisci cartelle:rsync?

Come sincronizzare file/cartelle da una data specifica in avanti?