2012-04-10 2 views
2

웹 서버를 이동 중입니다. (LAMP)서버 간 심볼릭 링크는 어떻게 복사합니까?

웹 서버 1에는 다른 디렉토리 (예 : ../../files/001.png)의 파일을 가리키는 수백 개의 심볼릭 링크가 있습니다. 우리가 새 서버로 이동하면 (내 컴퓨터에 사이트를 다운로드 한 다음 SFTP 클라이언트 전송을 사용하여 Webserver 2로 다시 업로드). 심볼릭 링크를 복사하지 않습니다 ...

새로운 서버에서 심볼릭 링크를 다시 만들지 않고 한 서버에서 다른 서버로 심볼릭 링크를 얻는 더 좋은 방법이 있습니까?

답변

3

다음과 같은 것이 있습니까? SSH를 통해 다른 서버에이 STDOUT에 복사 할 수있는 물건의 타르를 생성

tar czf - the_directory | (ssh Webserver2 "cd /path/to/wherever && tar xzf -") 

및 압축을 풉니에 파이프를 : 웹 서버 1 일. 재귀 ssh 복사본보다 빠를 수 있습니다.

+0

나는 그것이 당신에게 무엇을하는지, 왜 사용해야 하는지를 설명 할 수있는 가능성은 있습니다. P – hozza

+0

물론입니다. 핵심은 tar이 심볼릭 링크를 유지한다는 것입니다. 위의 내용은 단지 지름길입니다. Webserver1의 내용을 압축하여 Webserver2로 복사 한 다음 압축을 풀면됩니다. 마이그레이션 전 상태의 백업을 갖도록 그렇게 할 수도 있습니다. 위와 같이하면 tar 파일을 디스크에 쓰지 않아도됩니다. 대신 네트워크를 통해 곧바로 진행됩니다. 개별 파일 대신 데이터 스트림을 복사하기 때문에 더 빨리 수행 할 수 있습니다. 나는이 트릭을 데이터베이스 마이그레이션 프로젝트 동안 많이 사용했다. 더 명확하게? –

1

rsync -a 한 서버에서 다른 서버로 파일 특성 및 심볼릭 링크가 유지됩니다.

rsync -av [email protected]:/path/to/source [email protected]:/path/to/target 
+0

웹 서버 1에서 rsync를 사용할 수 없습니다. – hozza

+0

webserver 1은 어떤 시스템에서 실행되고 있습니까? 웹 서버 2에 대한 완전한 액세스 권한이 있다면 rsync를 사용할 수 있습니다. – lunixbochs