rsync를 사용하여 Raspberry Pi SD 카드 복제 유지

rsync를 사용하여 Raspberry Pi SD 카드 복제 유지

나는 rsync 도구를 사용하여 Raspberry Pi의 SD 카드에서 데이터를 백업하기 시작했습니다. 내가 사용하는 명령은 다음과 같습니다

sudo rsync -aAHXv --delete --exclude-from=/home/pi/rsync-exclude.txt / /media/pi/PI_BACKUP/

@goldilocks의 우수한 스택 교환 게시물을 기반으로 함여기.

rsync내 SD 카드의 디렉토리 구조가 복제된 것을 볼 수 있습니다 . 백업에서 복원할 때 해결해야 할 몇 가지 사항이 있으며 이에 대한 설명이 필요합니다.

  1. 파일이나 디렉터리를 복원하는 것은 나에게 가장 만족스러운 부분입니다. rysnc 도구를 사용하면 내 작업(문서, 이미지, 스크립트 등)을 문제 없이 백업하고 복원할 수 있습니다. 그런데 설치된 소프트웨어를 복원할 수 있나요?
  2. 비슷한 소프트웨어가 있어요GNU 라디오Raspbian(Buster)에 내장된 패키지 관리자를 사용하여 소프트웨어 저장소에서 설치합니다. 이 소프트웨어를 설치하는 데는 시간이 많이 걸립니다. 나는 "리눅스에서는 모든 것이 파일이다"를 읽었습니다. 또한 내장된 패키지 관리자가 /usr/lib또는 /opt. 이는 루트 파일 시스템의 백업 복사본에 이러한 폴더를 포함시키는 것만으로도 손상이 발생한 경우(재설치 없이) 소프트웨어를 복원하기에 충분하다는 의미입니까?
  3. 일부 소프트웨어는 패키지 관리자 외부에 설치됩니다. 예를 들어 Arduino IDE를 설치했습니다. Linux의 모든 것은 파일이므로 루트 파일 시스템의 백업 복사본에 소프트웨어가 설치된 폴더를 포함시켜 소프트웨어를 다시 설치하는 것도 가능합니까?

게다가이것Linux Journal에서 제안된 솔루션은 rsync를 사용하여 전체 시스템을 백업하고 복원할 수 있음을 나타내는 것으로 보입니다. 이것이 실제로 Raspberry Pi에서 어떻게 작동하는지 이해하는 데 어려움을 겪고 있습니다. 내 해석은 Pi의 SD 카드가 손상된 경우 다음을 수행하십시오.

  • USB 스틱에서 Pi 부팅(일부 Pi 모델에서는 지원되지 않음)
  • (손상된) SD 카드와 백업 미디어를 설치하세요.
  • rysnc를 사용하여 백업 미디어의 루트 폴더와 모든 콘텐츠를 원본 SD 카드로 복원하세요.

곧! 손상된 카드는 아무 일도 없었던 것처럼 다시 살아났고 모든 소프트웨어와 데이터도 그대로 유지되었습니다. 내 이해가 맞나요? 원본이 복구할 수 없을 정도로 손상되면 어떻게 되나요? 저는 Linux에 관해서는 최고의 초보자이며 도움을 주시면 감사하겠습니다.

답변1

Rsync는 특정 파일/디렉터리의 백업을 생성해야 하는 경우, 특히 거의 변경되지 않는 많은 대용량 파일을 백업해야 하는 경우(rsync는 변경된 파일만 전송함) 훌륭한 도구입니다. 기술적으로 당신 말이 맞습니다. Linux의 대부분은 파일 시스템에 저장됩니다. 백업(올바르게 수행된 경우)을 통해 설치된 소프트웨어, 구성, 장치 노드 /dev/등을 복원할 수 있습니다. 그러나 몇 가지 잠재적인 함정이 있습니다.

  1. 파일은 하나씩 복사되므로 여러 파일이 함께 속한 경우 동기화가 되지 않을 수 있습니다. 예: Raspi에서 사진 갤러리를 실행 중이고 백업 프로세스 중에 사용자가 새 이미지를 가져와서 이미지가 파일 시스템에 기록되고 일부 항목이 별도의 데이터베이스 파일에 기록됩니다. 그림이 포함된 디렉터리가 백업 시작 시 복사되고 데이터베이스가 마지막에 복사되는 경우 새 그림이 포함되어 있지만 해당 이미지가 누락된 데이터베이스가 포함된 백업이 생성될 수 있습니다. 이로 인해 심각한 문제가 발생하는지 여부는 소프트웨어의 특성에 따라 다릅니다.

  2. 일부 소프트웨어는 디스크의 파일이 항상 일관된 상태를 유지한다고 보장할 수 없습니다. 즉, 파일을 편집하는 동안 백업하면 손상된 파일이 백업될 수 있습니다. 대부분 괜찮을 것 같지만 운영 체제에 대해서는 모든 파일을 닫는 것이 더 안전합니다. 즉, 파일을 닫는 것입니다. 그렇지 않으면 마일리지가 달라집니다.

  3. Linux 시스템에서 사용되는 모든 흥미로운 "파일" 유형에 대해 백업이 제대로 작동하는지 확인해야 합니다. 예를 들어 의 장치 노드 /dev/, 의 의사 파일 시스템 /proc//sys/부팅 프로세스 중에 필요한 파일 에 주의를 기울일 수 있습니다 . 백업이 제대로 작동하는지 확인하려면 새 SD 카드로 복원해 보세요.

  4. 완전한 Linux 시스템에는 많은 수의 파일이 있습니다. 다른 컴퓨터와 동기화한다는 것은 모든 내용을 읽는 것을 의미하므로 Raspi 속도가 크게 느려집니다.

결합을 고려해 보셨나요?

  1. 때때로 Raspi를 종료하여 별도의 컴퓨터에 SD 카드의 비트 단위 백업을 만듭니다(예: 다음을 dd사용 ).
  2. rsync를 사용하여 가장 중요한 파일(예: /home, /usr/local 또는 /opt의 소스에서 빌드된 소프트웨어)을 정기적으로 다른 컴퓨터에 복사하시겠습니까?
  3. 필요한 경우 나중에 쉽게 설치할 수 있도록 설치된 패키지 목록을 파일로 덤프합니다.?

이렇게 하면 간단한 비트 단위 백업이 주는 마음의 평화와 잘못될 가능성이 적은 가장 중요한 파일을 자주 자동으로 백업하는 편리함을 결합할 수 있습니다.

관련 정보