現在、バックアップにはrsyncとハードリンクを使用しています。毎年新しいフルバージョンを作成し、毎日増加します。一般的なファイルマネージャで検索できる方法が好きで、アクセスも非常に高速です。私はハードリンクを作成するのにかかる時間とスペースが好きではありません。また、圧縮したい(ただし、破損が単一のファイルにのみ影響する方法)。 Linux属性をサポートしていないファイルシステム(クラウドストレージなど)に保存できる方が良いでしょう。
私はいくつかの研究とテストを行い、いくつかを学びました。まず、私はsquashfsがデルタを除くすべての要件を満たしていることがわかりました。各ブロックは個別に圧縮されます(ただし、私のホームディレクトリは元のサイズの70%に圧縮されます)、損傷は少量のデータにのみ影響します。通常のファイルとして保存することも、Linuxプロパティを含めることもできます。また、マウント可能で、ランダムアクセスをサポートしています。増分バックアップの残りの要件を解決するためにファイルシステムを上書きすることを検討しました。私はaufsがマルチブランチをサポートし、使いやすく見えるので、使用することにしました。
私が考慮しているバックアップ方法は次のとおりです。
- バックアップドライブには3つのフォルダがあります。
- 作業フォルダ(原子バックアップを実行できるようにrsyncを使用してコンピュータと複数回同期されます)
- 一時フォルダ(一時マウントポイントを保存するために使用)
- バックアップフォルダ:
- 次のパターンの名前を持つsquashfsで、年間のスナップショット全体を保存します。
full-${unix_timestamp}.squashfs
- 毎月の増分スナップショットは、最新のフルスナップショットに基づいて次のパターンで保存されます。
full-${unix_timestamp_of_full}-differential-${unix_timestamp}.squashfs
- ストレージは、前日から最近の月までの毎日の増分スナップショットに基づいています。名前は次のとおりです。
daily-${unix_timestamp_of_monthly}-incremental-${unix_timestamp}.squashfs
- バックアッププロセスは次のとおりです。
rsync -axvh --delete /home /backups/work/
数回実行してみてください(キャッシュとジャンクは除く)。mkdir /backups/temp/overlay
- 関連するすべての毎日、毎月、およびフルバックアップを次のマウントポイントにマウントします。
/backups/temp/
- aufsをマウントすると、
/backups/base
すべてのsquashfはroにマウントされ、オーバーレイはrwです。 - Rsync 作業ディレクトリの適用範囲、比較対象は次のとおりです。
/backups/base
- mksquashfsは関連する毎日の増分をカバーします。
- rm ディレクトリの上書き
- すべて削除
- 検索は、検索する日付までのバックアッププロセスのaufsインストール部分のみを実行します。
これは可能ですか?それとも主な問題(例:aufsパフォーマンスの問題)に直面しますか?私の考えは良いと思いますか?
私のアイデアに大きな問題がない場合は、このプロセスを自動化するスクリプトを作成する予定です。