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?


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.


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.


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.


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.


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


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.