rsyncを使用したバックアップの復元

rsyncを使用したバックアップの復元

私はLinuxに戻り、Kubuntu 21.10を実行します。今、私は私が望む方法で構成されているので、システム全体を適切にバックアップしたいと思います。以下は、別のドライブにバックアップを作成するために使用するコマンドです。

sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} "/media/backuppath/"

バックアップするドライブのパーティションは次のとおりです。

/dev/sda1      fat32    /boot/efi   (primary)
/dev/sda2      extended
/dev/sda5      ext4     /

私はrsyncを初めて使用するので、このバックアップコマンドがシステム設定、インストールされたプログラムなど、正確なシステムバックアップを復元するために必要なすべてのタスクを処理することを知っておくと便利です。もっと重要なのは、時が来たら?

ベストアンサー1

最も重要な最後の質問から始めてください。

バックアップを復元するために実行する必要がある作業は、起動するシステムによって異なります。なぜなら、最悪のシナリオ(フルバックアップが実際に役に立つ場合)では、バックアップしたシステムが壊れていました。

別のディスクがあるので、起動可能にして最悪の場合、そのディスクからシステムを起動し、別のディスクを復元できるようにするのはどうですか?別の即時の利点は、実行中のシステムを復元する必要がないことです。いつも予測不能な結果を​​もたらします。

この場合、fstabおよびブートローダ設定ファイルだけでなく、ブートローダ自体もバックアップしないことをお勧めします。 =>除外リストにそのパスを追加します。

rsync の --del 機能も必要です。

また、実行中のプロセスの最小数を厳密に制御してバックアップ(および復元)を実行する必要があります。 (私は常にシングルユーザーモードでコンソールの下に完全なrsyncバックアップを置きます。)

また、/mntサブディレクトリにターゲットをインストールし、/media/whateverの代わりに/mnt/whateverにrsyncをインストールすることを好みます。

私のシステムには、ルート、ブート、var、およびホームパーティションが4つあります。たとえば、次のように実行しました。

if mount -L "${DEST_SYS}_ROOT"
    then
    if mount -L "${DEST_SYS}_VAR" "/mnt/${DEST_SYS}_ROOT/var"
        then
        if mount -L "${DEST_SYS}_BOOT" "/mnt/${DEST_SYS}_ROOT/boot"
           then 
               if mount -L "${DEST_SYS}_HOME" "/mnt/${DEST_SYS}_ROOT/home"
                   then
                   rsync -aXH --info=progress2 --del --exclude={"/boot/boot.${BOOT_EXCL}","/boot/map.${BOOT_EXCL}","/dev/*","/media/*","/mnt/*","/proc/*","/root/MySys/Conf/fstab","/root/MySys/Conf/lilo.conf","/root/MySys/Conf/issue","/run/*","/sys/*","/tmp/*","lost+found"} / "/mnt/${DEST_SYS}_ROOT"

その後、起動した場所に戻ってバックアップを復元するには、どのコマンドを実行する必要がありますか?バックアップシステムから起動したのとまったく同じです。


注:もちろん、システムが重大に破損してfstabまたはブートローダが破損した場合は、手動で修復する必要があります。

おすすめ記事