私の意図は、サーバー上の特定のハードドライブの毎日の「スナップショット」を作成することです。今日、3日前、5日前、10日前などのスナップショットが維持され、循環するように自動的に確認する方法は?私は二重性というツールを見つけましたが、それを達成するためにそれを使用する方法が見つかりませんでした。 bashシェルスクリプトを使用する必要がありますか?インスピレーションを受けられるケースはありますか?
システムが Debian を実行しています。
答え1
Duplicityは、スナップショットを作成しますが直接読み取ることができる形式ではなく、圧縮されたアーカイブ形式です。
スナップショットを作成する方法はいくつかあります。次のようないくつかの高度なファイルシステムZFSそしてBTRFS一部のディスク層などの組み込み機能として使用します。左心室容積。
共通ファイルシステムでは、基本的な技術は、スナップショットが作成されるディレクトリツリーを再生成することです。ハードリンクファイルをコピーするのではなく、各ファイルに保存します。ファイルが削除され、新しいバージョンと置き換えられると、スナップショットは古いバージョンを維持します。一部のアプリケーションはファイルを内部で変更するため、同じファイルであるため、スナップショットバージョンも変更されます。これはハードリンクベースのソリューションの本質的な問題です。
直接ハードリンクのバリエーションは、ファイルがバックアップされたときに常にコピーを作成することです。ただし、最後のバックアップ以降にファイルが変更されていない場合は、新しいコピーを作成するのではなく、古いバックアップへのハードリンクを作成します。以前の方法とは異なり、これは以前のバックアップのファイルを変更して履歴を上書きする危険性がないため、バックアップに適しています。
同期オプション--link-dest
とスナップ写真これらのスナップショットを作成する最も一般的なツールです。 Rsnapshotはより高いレベルのツールです。内部的にはrsyncを使用しますが、正しいパラメータを使用して呼び出し、古いバックアップをスクリーニングするなどの操作を管理します。
rsnapshot では、複数の時間間隔を定義して、古いバックアップを収集する方法を指定できます。最小間隔は、あなたの場合毎日バックアップが行われる頻度です。間隔が長いほど、保持するバックアップが定義されます。 rsnapshotの各コマンドは、実行時に2つのタスクを実行します。retain INTERVAL N
rsnapshot.conf
rsnapshot INTERVAL
N
-1つのスナップショットのみが残るようにバックアップディレクトリを選択しますINTERVAL
。- 最低間隔の場合はバックアップが行われ、他の間隔の場合は前の間隔の現在のイメージがコピーされます。
たとえば、毎日バックアップを実行し、3日、5日、10日前のバックアップを維持するには、次の行をretain
次の行に含めます/etc/rsnapshot.conf
。
retain daily 2
retain day3 2
retain day5 3
rsnapshot daily
毎日のクローンジョブとして実行します。数分前と3日ごとにジョブを実行すると、次のようにおおよその計算ができますrsnapshot day3
。rsnapshot day5
04 04 5,10,15,20,25,30 * * rsnapshot day5
07 04 3,6,9,12,15,18,21,24,27,30 * * rsnapshot day3
10 04 * * * rsnapshot daily
(たとえば、2日目にバックアップを削除するため、3日間のバックアップを持つことはできません。しなければならないことは、3日間毎日バックアップを維持することです)。 rsnapshot ドキュメントに示すように。
答え2
1か月間インターネット検索を行った結果、次のことがわかりました。蝶のバックアップ
このユーティリティは、rsync
バックアップ、復元、およびその他の操作(保存、保存、クリーンアップなど)に使用されます。
このユーティリティには目次さまざまなバックアップを特定の時点から復元できるように保存するために使用されるポイント。 (WindowsのTime MachineまたはVSSに似ています)
以下はバックアップの例です。
$> bb backup --computer pc1 --destination /nas/backup_store --data User Config --type Unix
復元:
$> bb restore --computer pc1 --catalog /nas/backup_store --backup-id f65e5afe-9734-11e8-b0bb-005056a664e0
よりbackup-id
:
$> bb list --catalog /nas/backup_store
BUTTERFLY BACKUP CATALOG
Backup id: f65e5afe-9734-11e8-b0bb-005056a664e0
Hostname or ip: pc1
Timestamp: 2018-08-03 17:50:36
...
そして詳細f65e5afe-9734-11e8-b0bb-005056a664e0
:
$> bb list --catalog /nas/backup_store --backup-id f65e5afe-9734-11e8-b0bb-005056a664e0
Backup id: f65e5afe-9734-11e8-b0bb-005056a664e0
Hostname or ip: pc1
Type: Full
Timestamp: 2022-02-03 17:50:36
Start: 2022-02-03 17:50:36
Finish: 2022-02-03 18:02:32
OS: MacOS
ExitCode: 0
Path: /nas/mybackup/pc1/2022_02_03__17_50
List: etc
home
それだけです!
また、このツールはUnix(Linux、BSDなど)、MacOS、およびWindows(rsyncがインストールされているcygwin)システムをバックアップします。
答え3
私はバックアップ用にBackupPCを使用してきました。これにより、tar、SMB、およびrsyncを使用してバックアップ中のファイルにアクセスできます。私の場合は、すべてのシステムでrsync(WindowsのCygwin)を使用します。
バックアップが見つかったので、最初の復元は高速でした。増分バックアップと完全バックアップは、異なるスケジュールに従って維持できます。各ファイルバージョンのコピーは1つだけ保持されるため、スペース効率が非常に高いです。ファイルの回復は、個々のファイルを見つけてダウンロードしたり、回復アーカイブを作成したり、ファイルを直接回復したりできるWebページを介して行われます。ほとんどのシステムでは書き込みアクセスが無効になっているため、アーカイブから復元するか、個々のファイルをコピーして復元する必要があります。
履歴バックアップを維持するために同様のメカニズムを使用する様々な他のバックアップシステムがある。