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 또는 부트로더가 손상되는 경우 수동으로 복구해야 할 수도 있습니다.

관련 정보