GNU/Linux >> Linux の 問題 >  >> Linux

フリーウェアを使用して、実行中の Linux システムのアトミック増分バックアップを作成するにはどうすればよいですか?

あなたが言ったように、BTRFSはこれを行うことができます。これが、私が定期的にラップトップをバックアップする方法です (これを入力している時点で、9 週間と 5 日間のアップタイムがあります)。

私の BTRFS ファイルシステム内には、サブボリュームがあります。ファイルシステムのルートを使用してバックアップしたいデータを保存しない限り、データをサブボリュームに分割する方法とそれらをネストする方法はここでは重要ではありません。

次のコマンドは、構文と可能性を説明するためのものです。cronjob または systemd.timer として実行されるスクリプトにまとめることをお勧めします。

サブボリュームのスナップショットを作成するには:

btrfs subvolume snapshot -r <source> <dest>

スナップショットをシリアル化するには:

btrfs send <snapshot>

古いスナップショットを基準にしてスナップショットをシリアル化するには (つまり、差分):

btrfs send -p <start> <end>

差分を生成し、オンザフライで圧縮し、「進行状況」を監視してバックアップ サーバーに送信するには:

btrfs send -p <start> <end> | \
    pv -bart | \
    pbzip2 --best | \
    ssh [email protected] "cat > /backups/name.bz2"

同様に、BTRFS ストリームを圧縮するだけでなく、バ​​ックアップ サーバーに BTRFS サブボリュームを再作成するには:

btrfs send -p <start> <end> | \
    pv -bart | \
    pbzip2 --best | \
    ssh [email protected] "pbzip2 -d | \
    btrfs receive <target>"

復元するには、スナップショットを btrfs receive 経由で新しい BTRFS ファイルシステムに適用します .

BTRFS 増分バックアップの詳細はこちら


@mark-k-cowan が言ったように、btrfs スナップショットでこれを行うことができます。 btrfs は私には未熟です。 zfs とそのスナップショットを使用する方がよいでしょう。 @brady-deanが言ったように、LVMスナップショットはファイルシステムに依存しない方法です。 LVM スナップショットは、パフォーマンスに大きな悪影響を与える可能性があります。

Acronis には、ブロック レイヤーで機能してスナップショットを作成するカーネル モジュールがあります。 Datto Block Driver は、同じことを行う GPLv2 (エヘム「フリーウェア」) カーネル モジュールです。 (免責事項:使用したことはありません。)


Linux
  1. Rsyncを使用してLinuxシステム全体をバックアップする方法

  2. Linuxシステムが物理システムまたは仮想マシンで実行されているかどうかを確認するにはどうすればよいですか?

  3. LinuxでPythonを使用してプロセスがまだ実行されているかどうかを確認するには?

  1. アプリケーションが Linux で実行され続けることを確認する方法

  2. Linux コマンドを使用してシェルのバージョンを確認するにはどうすればよいですか?

  3. 使用している Linux のバージョンを確認するにはどうすればよいですか?

  1. Linux VPSでCS:GOサーバーを作成する方法

  2. Linuxで実行中のすべてのサービスを確認する方法

  3. あなたはそれを作ることができますか? Make コマンドを使用して Linux で C プログラムをコンパイルする