SSD의 시스템과 HDD의 홈으로 전체 백업 및 복원을 위해 tar를 어떻게 사용합니까?


14

SSD의 시스템과 HDD의 홈으로 전체 백업 및 복원을 위해 tar를 어떻게 사용합니까?

기존 백업 및 복원 답변은 루트와 집이 별도의 장치에있는 경우를 다루지 않는 것 같습니다


AU에 오신 것을 환영합니다! 일회성 또는 지속적 / 주기적 솔루션을 찾고 있습니까? 백업 대상이 로컬 또는 원격입니까? tar실제로 장치와 마운트 지점에 신경 쓰지 않습니다. 제발 편집 추가 정보를 포함하도록 게시물을.
David Foerster

"기존의 백업 및 복원 응답은 루트와 홈이 별도의 장치에있는 경우를 다루지 않는 것 같습니다."이유 : 나쁜 생각이며 2 개의 백업 파일을 만드는 것이 더 똑똑 할뿐만 아니라 더 효율적입니다.
Rinzwind

답변:


17

두 번 백업하는 것이 좋습니다. 다른 파티션에있는 경우 /의 경우 1, / home의 경우 1입니다. 원하는 경우 하나의 명령에 많은 예외를 추가해야합니다. 예:

sudo su
cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system / 
tar -cvpzf backuphome.tar.gz --one-file-system /home/

루트를 백업하고 / media (외부 장치를 백업하지 않으려는 경우)와 같이 마운트 된 모든 파티션을 제외하고 / dev 또는 / proc와 같은 것을 절대 백업하지 않습니다. 그리고 / home은 다른 백업으로갑니다.

위의 방법에서 백업은 /에 저장됩니다. 외부 미디어에 저장하는 것이 더 낫습니다. 그런 다음 backup.tar.gz 앞에 디렉토리를 놓고 --exclude=...첫 번째 명령에서 디렉토리를 삭제하십시오 .

  • backup.tar.gz는 백업입니다.
  • --exclude실제 백업 backupped되는 것을 방지 할 수 있습니다.
  • cvpzf : 생성, 상세, 권한 유지, 압축, 파일 사용

  • --one-file-system- 다른 파일 시스템에 파일을 포함시키지 않습니다. / home 파티션과 같은 다른 파일 시스템이나 / media에 마운트 된 외부 매체를 백업하려면 별도로 백업하거나이 플래그를 생략해야합니다. 이 플래그를 생략하면 원하지 않는 파일 시스템을 피하기 위해 --exclude = 인수를 몇 개 더 추가해야합니다. 루트의 / proc, / sys, / mnt, / media, / run 및 / dev 디렉토리입니다./ proc 및 / sys는 실행중인 커널의 변수에 창을 제공하는 가상 파일 시스템이므로이를 시도 및 백업 또는 복원하지 않습니다. / dev는 내용이 udev에 의해 동적으로 작성 및 삭제되는 tmpfs이므로이를 백업하거나 복원하지 않으려 고합니다. 마찬가지로 / run은 백업 할 필요가없는 실행중인 시스템에 대한 변수를 보유하는 tmpfs입니다 ( Source ).


따라서 ... 여전히 "하나의 라이너"를 원한다면 다음과 같이 보일 수 있습니다.

cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc 
--exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys / 

(제외되어야 할 것을 모두 얻었기를 바랍니다)


복원은

sudo su
cd /
tar xvzf backup.tar.gz

sudoroot에 의해 소유 된 파일 때문에 권한에 관한 오류 메시지가 표시되므로 tar 명령 앞에는 사용하지 않았습니다 .


귀하의 두 줄 제안은 시스템을 백업 할 때 하나의 메시지를 얻은 것을 제외하고는 매우 잘 작동했습니다. "/lib64/ld-linux86-64.so2 tar : / : 파일을 읽을 때 파일이 변경되었습니다." 백업하는 동안 이것이 정상입니까?
Buildit

예. tar는 파일 자체의 백업 작업 중 파일의 변경 사항을 알려줍니다 (백업 전후의 파일 상태를 확인합니다). 일반적으로 이러한 메시지는 무해합니다. 당신이 당신의 자신의 소프트웨어 / 데이터를 가지고 있고 그 파일 중 하나에서 그것을 얻는다면 나는 백업을 직접 다시 만들 것입니다.
Rinzwind

표준 tar는 압축되지 않고 모든 것을 하나의 파일로 결합합니다 (TAR = Tape ARchive). 대신 gtar을 사용해보십시오.
Alan Campbell

1
명령이 특정 디렉토리를 백업하지 않으면 시스템을 복원 할 때 디렉토리를 다시 만들어야합니까? 또한이 방법이 단순히 Deja-Dup을 사용하는 데 어떤 이점이 있습니까?
user4493605
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.