Apakah mungkin untuk menyinkronkan dua direktori linux secara real time?

25

Saya ingin menyinkronkan direktori hard drive internal ke hard drive eksternal.

Ketika saya menulis atau memodifikasi file pada hard drive internal saya, secara otomatis file yang sama akan disalin ke hard drive eksternal ... dan bye bye backup;)

Ini akan menjadi sesuatu seperti RAID dengan hard drive eksternal.

Apakah ini mungkin?

kaku
sumber
22
Saya takut berpikir "bye bye backup" hampir tidak pernah tepat, atau benar.
Ben Pilbrow
Serius. Apa yang dikatakan Ben. Ini BUKAN pengganti cadangan.
Duncan X Simpson

Jawaban:

8

Secara real time sejauh yang saya tahu hanya ada DRBD . Tapi saya pikir itu tidak berlaku pada situasi Anda, karena ketika Anda menghapus file, Anda juga akan menghapusnya di disk eksternal. Lebih mudah Anda dapat menggunakan rsync dan skrip cron yang dijalankan setiap beberapa menit.

PiL
sumber
Terima kasih atas jawaban Anda. Tetapi jika "cron" rsync berjalan setiap ..5 menit, apakah itu mengganggu kinerja? Bukankah terlalu berat (memeriksa setiap file jika ada yang berubah?)?
stighy
Itu sebabnya mereka menemukan sistem file dengan kemampuan snapshots;)
PiL
1
DRBD bisa sedikit rumit untuk dikonfigurasi, jika Anda memerlukan bantuan untuk mengonfigurasinya, saya menulis artikel yang bagus: geek-kb.com/install-and-configure-drbd-centos-6
Itai Ganot
30

lsyncd tampaknya menjadi solusi sempurna. itu menggabungkan inotify (fungsi kernel builtin jam tangan untuk perubahan file dalam pohon direktori) dan rsync (lintas platform file-alat sinkronisasi).

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

Kutipan dari github:

Lsyncd jam tangan antarmuka direktori acara pohon direktori lokal (inotify atau fsevents). Ini mengumpulkan dan menggabungkan acara selama beberapa detik dan kemudian memunculkan satu (atau lebih) proses untuk menyinkronkan perubahan. Secara default ini adalah rsync. Dengan demikian, Lsyncd adalah solusi live mirror yang ringan yang relatif mudah dipasang tanpa memerlukan sistem file baru atau perangkat blok dan tidak menghambat kinerja sistem file lokal.

jens
sumber
1
con itu bukan dua arah
tymik
8

Anda cukup membuat Perangkat Lunak RAID1 melalui hard drive internal dan eksternal Anda. Untuk sistem, tidak ada bedanya jika itu adalah hard drive internal atau penyimpanan massal yang terpasang secara eksternal.

Tapi RAID tidak ada cadangan! Apa yang terjadi jika Anda secara tidak sengaja menghapus file di hard drive Anda? Itu juga akan dihapus pada drive "cadangan" eksternal Anda.

Cadangan biasanya terdiri dari lebih dari satu generasi file sehingga Anda dapat mengambil file yang terhapus secara tidak sengaja.

Joseph
sumber
4
+1 besar untuk "RAID bukan cadangan" eksplisit.
jamaah
Juga serangan perangkat lunak dengan anggota hard drive internal dan eksternal mungkin akan sangat lambat, tidak dapat diandalkan dan ditunjuk untuk sering rusak.
David
2

incron (seperti yang disarankan kepada saya di situs ini awal tahun ini).

Ini masih bukan pengganti untuk prosedur pencadangan yang tepat.

Matthew Iselin
sumber
3
mungkin lebih baik mengukirnya menjadi batu.
Dee
1
@Dee Tolong jelaskan komentar ini. Apakah incron bukan solusi yang baik?
imolit
0

git-lampiran juga dapat digunakan untuk mencapai ini.

git-annex memungkinkan mengelola file dengan git, tanpa memeriksa isi file ke git. Sementara itu mungkin tampak paradoksal, berguna ketika berhadapan dengan file yang lebih besar daripada git saat ini dapat dengan mudah menangani, apakah karena keterbatasan dalam memori, waktu, atau ruang disk

Ada langkah-langkah untuk mempercepat pengguna dengan kecepatan dengan git-lampiran

ypid
sumber
Sementara ini secara teoritis dapat menjawab pertanyaan, [akan lebih disukai] untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
Itai Ganot