기호 링크를 따르지 않고 사용자 홈 폴더를 원격 서버에 보관하시겠습니까?

기호 링크를 따르지 않고 사용자 홈 폴더를 원격 서버에 보관하시겠습니까?

사용자가 떠날 때 나중에 특정 파일이 여전히 필요할 수 있다는 것을 발견할 경우를 대비하여 사용자 홈 폴더의 일회성 보관 복사본을 보관 서버에 만들어야 합니다(최종 삭제 대기 중). 그래서) 떠나기 전에 필요할 수 있는 모든 것을 직접 백업해 두십시오.

우리는 이것을 사용해 왔지만 scp이제 이전 사용자가 폴더 중 하나에 특이한 심볼릭 링크 구조를 생성하는 일부 소프트웨어를 설치하도록 실수로 속여서 scp를 조회한 다음 차단되기 전에 복사를 시도하는 것으로 보입니다. , 의외로.

불행히도 scp는 항상 심볼릭 링크를 따르는 것으로 나타났으며 이를 방지할 수 있는 옵션은 없는 것 같습니다.

이 문제를 피하기 위해 사용자 폴더를 백업하는 다른 방법을 찾고 있습니다(이상적으로는 꼭 필요한 것보다 더 복잡하지 않습니다).

tar가능할 수도 있지만, 아카이브 서버에 복사하기 전에 로컬에서 타르볼을 생성하면 많은 저장 공간을 사용할 수 있고 앞으로 파일 서버가 가득 차면 약간의 어려움을 겪을 수 있다는 점이 조금 걱정됩니다.

또 다른 가능성은 rsync 를 사용하는 것일 수 있지만 rsync일회성 파일 전송에는 과잉일 수 있으며 이전 경험을 통해 rsync 자체 옵션을 조정하는 것이 때때로 그 자체로 지루할 수 있다는 것을 알고 있습니다.

이에 대한 안정적이고 간단한 scp 대안을 제안할 수 있는 사람이 있습니까?

답변1

임시 파일이 마음에 들지 않으면 tar간단합니다. 임시 파일을 사용하지 마세요. 파이프를 사용하십시오.

cd /home ; tar cf - user | gzip | ssh archivehost -l archiveuser 'cat > user.archived.tar.gz'

대체 xz또는 당신이 좋아하는 무엇이든 gzip. 또는 마스터 서버의 CPU 주기를 저장하는 것이 네트워크 대역폭(따라서 보관 서버의 CPU)을 절약하는 것보다 더 중요한 경우 연결의 반대쪽으로 이동합니다.

cd /home ; tar cf - user | ssh archivehost -l archiveuser 'gzip > user.archived.tar.gz'

gpg거기에 게시할 수도 있습니다 . 저장할 때는 공개 키 암호화를 사용하고, 무언가를 복원해야 할 때는 개인 키를 사용하여 이러한 아카이브 전용 키 쌍을 확보하세요.

요청 시 더 자세한 내용을 확인하실 수 있습니다:

나는 user당신이 보관하고 있는 홈 디렉토리의 사용자가 될 것입니다 /home/user. archivehost아카이브를 저장하려는 서버와 archiveuser아카이브 서버에서 아카이브를 소유한 계정입니다.

tar cf - user"tar 아카이브를 생성하여 user표준 출력에 쓴다"는 의미입니다. " 만들기 -c", -f -"stdin/stdout을 파일로 사용"입니다. 기본 작업이므로 작동할 수도 있지만 처음에는 기본 작업이 tar c user테이프 장치 를 읽거나 쓰는 것입니다. 명시적 표현을 사용하는 것은 단지 내 나이가 들었다는 신호일 수도 있습니다.-f -tar-f -

tar z플래그가 있으면 좋겠지만 이를 .tar 파일의 다른 쪽으로 이동하는 방법을 보여줄 수 없습니다 ssh. (또한 명시적 파이프를 연결 gzip하고 tar사용하는 것은 "늙은 사람들"의 일 중 하나입니다. tar이에 대한 옵션이 항상 있는 것은 아닙니다.) 또한 해당 옵션을 기억하지 않고도 bzip2, lzop, xz -3v또는 기타 압축기를 교체할 수 있습니다 tar.

나는 --checkpoint이전에 들어본 적이 없으므로 직접 테스트에 의존해야 합니다.

답변2

Rsync는 합리적인 선택입니다. 일회성 전송에 rsync를 사용하는 데에는 아무런 문제가 없습니다.

Tar도 합리적인 선택입니다. 아카이브를 로컬에 저장할 필요는 없습니다.SSH로 직접 파이프.

또 다른 가능성은 서버 디렉토리를 다음 위치에 마운트하는 것입니다.SSHFS. 그러나 SSHFS는 모든 메타데이터(예: 권한)를 보존하지 않는다는 점에 유의하세요. (Tar 및 rsync도 모든 메타데이터를 보존할 수는 없지만 더 나은 성능을 발휘할 수 있습니다. --acls --xattrsGNU tar로 전달하고 --acls --xattrsrsync로 전달합니다.)

관련 정보