2つのLinuxディレクトリをリアルタイムで同期することは可能ですか?


25

内部ハードドライブのディレクトリを外部ハードドライブに同期したいと思います。

内蔵ハードドライブでファイルを作成または変更すると、自動的に同じファイルが外部ハードドライブにコピーされます...そして、さようならバックアップ;)

これは、外付けハードドライブを備えたRAIDのようなものです。

これは可能ですか?


22
「さようならバックアップ」を考えることは、ほとんど適切ではない、または正しいとは思いません。
ベンピルブロー

真剣に。ベンが言ったこと。これはバックアップの代替ではありません。
ダンカンXシンプソン

回答:


8

私の知る限り、リアルタイムでDRBDしかありません。しかし、ファイルを削除すると外部ディスクでも削除されるため、状況に当てはまるとは思いません。より簡単に、数分ごとに実行されるrsyncとcronスクリプトを使用できます。


ご回答ありがとうございます。しかし、「。cron」rsyncを..5分ごとに実行すると、パフォーマンスが低下しますか?重すぎませんか(何か変更された場合はすべてのファイルをチェックしますか?)?
気味悪い

それが、スナップショット機能を備えたファイルシステムを発明した理由です;)
PiL

1
DRBDの構成は少し複雑になる可能性があります。構成の支援が必要な場合は、素敵な記事geek-kb.com/install-and-configure-drbd-centos-6
Itai Ganot

30

lsyncdは完璧なソリューションのようです。inotify(ディレクトリツリー内のファイルの変更を監視するカーネルの組み込み関数)とrsync(クロスプラットフォームファイル同期ツール)を組み合わせています。

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

githubからの引用:

Lsyncdは、ローカルディレクトリツリーイベントモニターインターフェイス(inotifyまたはfsevents)を監視します。数秒間イベントを集約および結合し、1つ(または複数)のプロセスを生成して、変更を同期します。デフォルトでは、これはrsyncです。したがって、Lsyncdは、新しいファイルシステムまたはブロックデバイスを必要とせず、インストールが比較的簡単で、ローカルファイルシステムのパフォーマンスを妨げることのない、軽量のライブミラーソリューションです。


1
短所

8

内部および外部ハードドライブ上にソフトウェアRAID1を作成するだけです。システムの場合、内蔵ハードドライブでも外部接続の大容量ストレージでも違いはありません。

しかし、RAIDはバックアップではありません!ハードドライブ上のファイルを誤って削除した場合はどうなりますか?また、外部の「バックアップ」ドライブで削除されます。

バックアップは通常、複数世代のファイルで構成されているため、誤って削除したファイルをそこから取得できます。


4
明示的な「RAIDはバックアップではない」ための大きな+1。
ニックグリム

また、内部および外部のハードドライブメンバーによるソフトウェアレイドは、おそらく非常に遅く、信頼性が低く、かなり頻繁に壊れるように指定されます。
デビッド

2

incron(今年初めにこのサイトで提案されたとおり)。

ただし、適切なバックアップ手順に代わるものではありません。


3
おそらくそれを石に彫刻する方が良いでしょう。
ディー

1
@Deeこのコメントを説明してください。インクロンは良い解決策ではありませんか?
-imolit


0

git-annexを使用してこれを実現することもできます。

git-annexでは、ファイルの内容をgitにチェックインせずに、gitでファイルを管理できます。それは逆説的に思えるかもしれませんが、メモリ、時間、またはディスク容量の制限のために、gitが現在簡単に処理できるよりも大きいファイルを扱うときに便利です

git-annexを使用してユーザーをすばやく最新の状態にするためのチュートリアルがあります


これは理論的には質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供することが望ましいです。
イタイガノ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.