저는 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
그래서 패키지 관리자가 설치한 패키지에 대한 추가 정보도 백업했습니다. 이제 새 컴퓨터가 있고 "가능하다면" 새 컴퓨터로 마이그레이션하고 싶습니다. 그래서 다음과 같은 질문이 있습니다.
- 이 데이터는 새 시스템을 이전 시스템과 유사한 상태로 만드는 백업 목적으로 충분합니까? 내 패키지 관리자를 통해 설치되지 않은 패키지나 휴지통 같은 것들이 누락될 것이라는 것을 알고 있습니다. 또한 네트워크 프린터 같은 것을 수동으로 다시 설치해야 합니다.
- dot 으로 시작하는 (일부) 폴더와 파일도 복구하는 것이 좋습니다
.
. 나는 이러한 폴더와 파일이 관련 구성 항목을 보관하기 위해 프로그램(또는 나 자신)에 의해 생성되었다고 가정합니다. 예를 들어, 파일을 다음 위치에 보관하겠습니다.$HOME/.vim/
내 요구 사항은 다음과 같습니다
--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