だから私はLinuxシステムがインストールされたUSBスティックを持っており、計画は次のとおりです。
USBフラッシュドライブにバックアッププログラムをインストールして、システムをサーバーにバックアップしたいと思います。サーバーには、データが書き込まれる別のUSBスティック(正確なモデルとサイズ)がインストールされています。
USBスティックAを紛失した場合は、家に帰ってサーバーからUSBスティックBを取り外し、何も起こらなかったかのように使用したいと思います。
このrsyncコマンドラインがあります。
rsync -avPAHXxz --numeric-ids --exclude='/dev' --exclude='/sys' --exclude='/efi' --exclude='/proc' --exclude='/run' --exclude='/mnt' --exclude='/tmp' --exclude='/home/*/.cache' --exclude='/root/.cache' --delete -e 'sudo -u user ssh' -- / root@server:backups/rootfs
同様のディレクトリがあります/efi
。
これは、バックアップをスケジュールしてからサーバーから復元するときに便利です。しかし、私の目標は、バックアップ自体を最終的に利用可能なシステムにすることです。
ボーナスの質問:新しいシステムでは、パーティションのUUIDが異なります。これは、USBスティックを使用する前にBIが入り、UUIDを変更する必要があることを意味します。私はbashスクリプトを使ってこれを行うことができると確信しているので、問題はありません。しかし、私が知っておくべき他の同様のことがありますか?システムが機能するには、別のインスタンス固有のデータを交換する必要がありますか?
答え1
アーカイブモードを使用し、run、sys、tmp、run、procなどの一時ディレクトリを除外します。このリンクで詳細を確認できます。入場:https://wiki.archlinux.org/title/rsync#As_a_backup_utility
ボーナスの質問については、ddを使用して良い解決策を提示します。
バックアップ:dd if = / dev / sda | gzip -9 > backup.img.gz
復元:zcat backup.img.gz dd = / dev / sda |
しかし、今はシステムを実行してはいけません。それ以外の場合は問題が発生します。この目的のためにライブ展開を開始できるのと同じです。