È possibile sincronizzare due directory di Linux in tempo reale?


25

Vorrei sincronizzare una directory di un disco rigido interno con un disco rigido esterno.

Quando scrivo o modifico un file sul mio disco rigido interno, automaticamente lo stesso file verrebbe copiato sul disco rigido esterno ... e ciao ciao backup;)

Questo sarebbe qualcosa come un RAID con un disco rigido esterno.

È possibile?


22
Temo che pensare "ciao ciao backup" non sia quasi mai appropriato o corretto.
Ben Pilbrow,

Sul serio. Quello che Ben ha detto. Questo NON è un sostituto per il backup.
Duncan X Simpson,

Risposte:


8

In tempo reale, per quanto ne so, c'è solo DRBD . Ma non penso che si applichi alla tua situazione, poiché quando elimini un file lo eliminerai anche sul disco esterno. Più facilmente puoi usare rsync e uno script cron che viene eseguito ogni pochi minuti.


La ringrazio per la risposta. Ma se "cron" rsync viene eseguito ogni 0,5 minuti, ciò compromette le prestazioni? Non è troppo pesante (controlla ogni file se qualcosa è cambiato?)?
pesante

Ecco perché hanno inventato il file system con capacità di istantanee;)
PiL

1
DRBD può essere un po 'complicato da configurare, se hai bisogno di aiuto per configurarlo, ho scritto un bell'articolo: geek-kb.com/install-and-configure-drbd-centos-6
Itai Ganot

30

lsyncd sembra essere la soluzione perfetta. combina inotify (funzione incorporata del kernel che controlla le modifiche ai file negli alberi di una directory) e rsync (strumento di sincronizzazione dei file multipiattaforma).

lsyncd -rsyncssh /home remotehost.org backup-home/

Citazione da github:

Lsyncd guarda un'interfaccia di monitoraggio eventi di alberi di directory locali (inotify o fsevents). Aggrega e combina gli eventi per alcuni secondi, quindi genera uno (o più) processi per sincronizzare le modifiche. Per impostazione predefinita, questo è rsync. Lsyncd è quindi una soluzione live mirror leggera, relativamente facile da installare che non richiede nuovi filesystem o blockdevices e non ostacola le prestazioni del filesystem locale.


1
il contro è che non è bidirezionale
tymik

8

Puoi semplicemente creare un RAID1 software sul tuo disco rigido interno ed esterno. Per il sistema non fa differenza se si tratta di un disco rigido incorporato o di una memoria di massa collegata esternamente.

Ma RAID non è un backup! Cosa succede se si elimina accidentalmente un file sul disco rigido? Viene anche eliminato sull'unità "backup" esterna.

I backup di solito comprendono più di una generazione di file in modo da poter recuperare file cancellati accidentalmente da esso.


4
Un grande +1 per l'esplicito "RAID non è backup".
nickgrim

Anche un raid di software con membri del disco rigido interno ed esterno sarà probabilmente molto lento, inaffidabile e designato per interrompersi abbastanza spesso.
David,

2

incron (come mi è stato suggerito su questo sito all'inizio di quest'anno).

Tuttavia, non è ancora un sostituto per una corretta procedura di backup.


3
probabilmente sarebbe meglio inciderlo nella pietra.
Dee,

1
@Dee Per favore, spiega questo commento. Incron non è una buona soluzione?
imolit,


0

git-annex può anche essere usato per raggiungere questo obiettivo.

git-annex consente di gestire i file con git, senza controllare il contenuto del file in git. Sebbene ciò possa sembrare paradossale, è utile quando si tratta di file più grandi di git che possono essere facilmente gestiti, a causa di limitazioni nella memoria, nel tempo o nello spazio su disco

È disponibile una procedura dettagliata per velocizzare rapidamente gli utenti con git-annex


Sebbene ciò possa teoricamente rispondere alla domanda, [sarebbe preferibile] includere qui le parti essenziali della risposta e fornire il collegamento come riferimento.
Itai Ganot,
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.