rsync를 통해 $HOME 백업 복원

rsync를 통해 $HOME 백업 복원

저는 Opensuse Leap 42.2를 사용하고 있으며 zypper를 선호하는 패키지 관리자로 사용하고 있습니다. 나는 스크립트를 통해 주기적으로 내 홈 디렉터리를 외부 드라이브로 점진적으로 업데이트합니다.

#!/bin/bash

source="/home/florian/"
dest="/run/media/florian/My Passport A/increm-bu"
zypperfile="${source}Documents/installed-zypper-packages"
rpmfile="${source}Documents/myinstalledpackages.txt"

zypper --xmlout search --installed-only -v > "$zypperfile"
rpm -qa --qf "%{NAME} " > "$rpmfile"

rsync -avHAXS --delete "$source" "$dest"

exit 0

그래서 패키지 관리자가 설치한 패키지에 대한 추가 정보도 백업했습니다. 이제 새 컴퓨터가 있고 "가능하다면" 새 컴퓨터로 마이그레이션하고 싶습니다. 그래서 다음과 같은 질문이 있습니다.

  1. 이 데이터는 새 시스템을 이전 시스템과 유사한 상태로 만드는 백업 목적으로 충분합니까? 내 패키지 관리자를 통해 설치되지 않은 패키지나 휴지통 같은 것들이 누락될 것이라는 것을 알고 있습니다. 또한 네트워크 프린터 같은 것을 수동으로 다시 설치해야 합니다.
  2. dot 으로 시작하는 (일부) 폴더와 파일도 복구하는 것이 좋습니다 .. 나는 이러한 폴더와 파일이 관련 구성 항목을 보관하기 위해 프로그램(또는 나 자신)에 의해 생성되었다고 가정합니다. 예를 들어, 파일을 다음 위치에 보관하겠습니다.$HOME/.vim/
  3. 내 요구 사항은 다음과 같습니다

    --exclude 외부 드라이브의 옵션을 통해 제외된 파일과 폴더를 제외한 모든 파일과 폴더를 새 홈 디렉터리로 복사합니다 (원래 명령과 유사한 옵션 사용, 즉 하드 링크 유지, ACL 유지, .. .).

    새 $HOME에 같은 이름의 새 파일이 있으면 덮어씁니다.

    백업에서 찾을 수 없는 새 $HOME의 파일을 삭제하지 마십시오.

    스크립트에 대한 내 생각은 다음과 같습니다.

    #!/bin/bash
    
    # Adjust foldernames maybe
    source="/run/media/florian/My Passport A/increm-bu/"
    dest="/home/florian/"
    
    rsync -avHAXS  --exclude '<configuration-stuff>'"$source" "$dest"
    
     exit 0
    

관련 정보