2016-08-08 1 views
0

일부 심볼릭 링크를 유지하면서 내 웹 사이트를 서버에 rsync하려고합니다. 나는 몇 가지 문서를 학년 때 락커룸이이 트릭 한 가지 문제를 제외하고rsync php 파일로의 심볼릭 링크

rsync -vra --links 

수행해야합니다 : 그것은 폴더로 이동되지 않습니다 심볼릭 링크를 복사하지 않습니다, 그러나이 경우에는 파일 (.PHP,하지만 난 중요하다고 생각하지 마십시오.) 그것은 기본적으로 깨집니다.

이 링크는 작동합니다

htdocs/content/uploads -> /data/sharedstorage/uploads 

이 링크

을 생략됩니다
htdocs/content/config.php -> /data/sharedstorage/config.php 

사람이 내가이 문제를 해결할 수있는 방법을 알고 있나요?

추신 : 원래 심볼릭 링크가 링크 된 파일을 복사하고 싶지 않기 때문에 심볼릭 링크를 유지하고 싶습니다.

+0

심볼릭 링크로 인해 건너 뛰었던 이유는 무엇이라고 생각합니까? 전체 rsync 명령을 줄 수 있습니까? –

+0

rsync -vrla --delete --update --dry 실행 --exclude = .git --exclude = htdocs/.htaccess --exclude = .git * --exclude = *. old --exclude =. *. 이전 --exclude = *. dist --exclude =. *. dist --exclude = www --exclude =. * --exclude = 공급 업체/bin --exclude = 공급 업체/큐브 --exclude = 공급 업체/johnpbloch - exclude = vendor/koodimonni --exclude = vendor/koodimonni-language --exclude = * .json --exclude = Gruntfile.js --exclude = vvv * --exclude = wp-cli.yml --exclude = *. lock --exclude = htdocs/content/themes/starter/* .json --exclude = htdocs/content/themes/htdocs/content/themes/starter/* .txt –

+0

--exclude = htdocs/content/themes/starter/* .md --exclude = htdocs/content/themes/스타터/리소스/자산/bower --exclude = htdocs/content/themes/starter/resources/assets/scss --exclude = htdocs/content/themes/starter/resources/assets/js/*/--exclude = htdocs/content/테마/스타터/리소스/자산/css/**/*./user @ server : 전체 명령입니다. -l은 --links와 똑같이해야합니다 (모두 시도). 내가 올바르게 체크하면이 파일들을 제외하지 않습니다. –

답변

0

심볼릭 링크로 전송할 것 같습니다. rsync가 제공하는 피드백 만이 심볼릭 링크를 인식하지 못합니다. 아마도 확장 기능을 가지고 있기 때문일 수 있습니다. 그리고 따라서 파일로 볼 것입니다 ...

그래서 문제는 실제로 결국 문제가되지 않습니다. rsync의 자세한 기능에서 "버그"와 비슷합니다.

+0

Rsync는 "확장 기능"에 관심이 없습니다. 파일 이름은 도트 나 캐리지 리턴 또는 기타 이전 문자가 있는지 여부에 관계없이 파일 이름입니다 [*] (http://serverfault.com/a/150744). Rsync는 파일 이름의 패턴에 따라 파일 형식을 검색하지 않습니다. 그것은 [운영체제에이 정보를 묻습니다] (https://www.freebsd.org/cgi/man.cgi?query=fstat&sektion=2). – ghoti

+0

그러면 어떻게 인식되지 않겠지 만 올바르게 전송됩니까? –

+0

결과를 복제 할 수 없습니다. 내가 만든 테스트 케이스에서 예상대로 정확하게 작동합니다. – ghoti