GNU/Linux >> Linux Esercitazione >  >> Linux

L'uso di Rsync durante l'aggiornamento della sorgente è sicuro?

È sicuro usare rsync quando il filesystem di origine è montato e scrivibile, supponendo che possa benissimo essere modificato mentre rsync è in esecuzione? Presumo che in condizioni di gara potrei non ricevere le ultime modifiche, ma c'è qualche rischio di corruzione?

Risposta accettata:

Usando rsync è abbastanza sicuro sui file system montati in lettura e scrittura. Quando rsync viene avviato crea un elenco di file e quindi inizia a copiare quei file. Questo elenco di file non viene aggiornato durante l'esecuzione. I dati effettivi vengono quindi copiati.

Ciò significa quando un file cambia dopo rsync ha creato l'elenco dei file, copierà il nuovo contenuto. Tuttavia, quando viene aggiunto un nuovo file dopo rsync ha creato la sua lista di file, questo nuovo file non viene copiato. Se un file viene eliminato dopo rsync ha creato l'elenco dei file, rsync avviserà che non è stato possibile copiare quel file. Tieni presente che rsync non è un'istantanea, questo significa che è difficile dire in quale momento rsync copiato i dati.

Le istantanee del file system o del gestore del volume (ad es. utilizzando ZFS o LVM), d'altra parte, vengono create istantaneamente e sono un'istantanea coerente del file system in un momento ben definito che può quindi essere copiata su un altro host. rsync non offre questo tipo di coerenza.

MODIFICA: Come altri hanno sottolineato nei commenti, è possibile che rsync potrebbe effettivamente corrompere il tuo file. Quando rsync inizia a leggere un file e un'applicazione scrive quel file contemporaneamente, potresti ritrovarti con un file danneggiato.


Linux
  1. Strumenti di amministratore di sistema:utilizzo di rsync per gestire il backup, il ripristino e la sincronizzazione dei file

  2. Trasferimenti di file più intelligenti rispetto a Rsync??

  3. Utilizzo di rsync per sincronizzare i file

  4. Come scrivo stderr su un file mentre uso tee con una pipe?

  5. Utilizzando le opzioni di inclusione ed esclusione di Rsync per includere directory e file in base al modello

Utilizzo del file di configurazione SSH

Comando sorgente Bash

Procedura:un'introduzione all'uso di Git

Trasferisci file usando WinSCP

È sicuro aprire un file che viene scritto da uno script in esecuzione?

Riprendi il trasferimento di un singolo file tramite rsync