rsync를 사용하여 시스템을 복제할 때 무엇을 고려해야 합니까?

rsync를 사용하여 시스템을 복제할 때 무엇을 고려해야 합니까?

그래서 저는 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 |

하지만 지금은 시스템이 실행되어서는 안 됩니다. 그렇지 않으면 문제가 발생합니다. 이 목적을 위해 라이브 배포를 시작할 수 있는 것과 같습니다.

관련 정보