우리는 데비안 서버에서 모든 것을 백업하고 싶습니다. 데비안 서버는 종료하지 않고 세계 반대편 (리 노드에서 호스팅)에서 원격으로 실행됩니다.
이 시스템은 간단한 nginx 설정으로 쉘, 이메일, XMPP / prosody 및 웹을 실행합니다.
우리는 안전을 위해 그와 관련된 파일을 백업하고 싶습니다. 예를 들어, 사용자가 홈 디렉토리에 저장 한 파일입니다.
매번 / etc 파일마다 기존 설정 wrt를 정확하게 복사 할 필요는 없습니다. 대신, 우리가 처음부터 백업을 수행하는 이유는 새로운 설정으로 이동할 수 있기 때문입니다 (데비안의 최신 버전은 여전히 Linode에 있습니다).
Linode가 백업 서비스를 제공한다는 것을 알았습니다. 그러나 장기적으로는 우리 자신의 백업이 필요합니다.
이 질문이 존재하는 이유는 과거에 백업을 시도했을 때 다음 두 가지 실수 중 하나를 계속했기 때문입니다.
- "확인, 복사 만하면
/
됩니다."로 이동 한 다음 복사 할 드라이브가 / media / backup 아래에 마운트되어 있고 재귀 적으로 복사되는 [obv] 때문에 이상한 무한 루프에 빠졌습니다. 우리가 rsync 또는 이와 유사한 것을 통해 백업 할 것이기 때문에 여기에서 적용 할 수없는 특정 문제] 또는 / proc 또는 / var 또는 "매일 변경되는 로그를 유지하려고하는 것과 같은 어떤"살아있는 "복사물을 복사하려고 시도했습니다. 또는 - 나는 "좋아, 우리가 필요한 것의 최소한도를 잡을 것이다. 흠, 모든 사람의 홈 디렉토리 및 웹 서버 디렉토리 (모두 아래에 있음
/var
)를 복사/etc
하고 / var / 아래에있는 모든 오래된 메일을 챙기자. vmail "을 선택한 다음 파일 권한 또는 타임 스탬프를 변경했거나 (이번에는 유닉스 파일을 FAT 드라이브에 백업하지 않도록해야 함) 무언가를 잊어 버렸습니다 ("오, 쏴, / usr / 다른 곳에 저장 한 적이없는 로컬 / 빈을 가져 와서 잊어 버렸습니다. ").
따라서 전체 드라이브를 똑바로 복사하면 함정이 발생하고 디렉토리를 선택적으로 복사하면 함정이 발생합니다. 올바른 방법을 알고 싶습니다.
서버 결함 질문 전체 백업 시스템에 무엇이 필요합니까? 철학과 모범 사례를 다루지 만 다음과 같은 구체적인 내용을 찾고 있습니다.
- 복사해야 할 디렉토리와 제외 할 디렉토리 (현재 실행 중이며 위키, XMPP 채팅, 이메일을 제공하는 시스템이므로 복사 작업이 실행되는 동안 새 메시지가 수신 됨)
- 타임 스탬프 및 소유자 및 그룹과 같은 어떤 파일 속성을 제시해야하며 어떻게해야합니까? ← 나는이 질문의 절반을 나 자신에게 대답 할 수
rsync -HXaz
있다고 생각한다.-z
OBV는 정말 "나는 무엇을 보존 할"입니다 질문에 관련이없는
을 사용하는 것과 같이 백업에 대한 많은 조언 dd
은 드라이브가 마운트 해제되어 있고 사용 중이 아니라고 가정합니다. 그러나 나는 (아래 / 나는 우리가 확실히 알고 VAR 물건의 일부 그러나 같은 / proc 디렉토리 이하의 / var 서브 디렉토리의 일부 디렉토리 "살아있는"제외 안하고 할 및 / 마운트 유지하기 위해 필요)? 이 상황에서 고려해야 할 다른 사항이 있습니까? 그런 다음 rsync와 함께 많은 --exclude
플래그를 사용하여 스너프 할 수 있다고 생각 합니다.
아니면 더 나은 아이디어, 특히 FOSS 친화적 아이디어가 있습니까?
cp -r -a
파일을 복사 할 때 가능한 많은 파일 속성을 보존 할 것입니다 (대상 파일 시스템이 지원하는 것에 따라). -a
플래그는 지시 cp
속성을 보존 할 수 있습니다. 네트워크를 통해 또는 필요한 속성을 지원하지 않는 파일 시스템을 통해 복사하는 경우, tar -c
항상 다루지 않은 몇 가지 경우가 있다고 생각하지만 특히 tar
기본적으로 일치하는 사용자 이름에 따라 다릅니다. 두 시스템. 즉, tar
명백한 문제없이 전체 (마운트되지 않은) Linux 시스템을 복사했습니다 .