Rsync가 심볼릭 링크를 올바르게 복사하지 않습니다.

Rsync가 심볼릭 링크를 올바르게 복사하지 않습니다.

한 서버에서 다른 서버로 일부 rpm을 복사하는 rsync가 있지만 문제는 수신 서버에서 심볼릭 링크가 올바르게 생성되지 않는다는 것입니다.

내 rsync 옵션은 rsyncd.conf에서 설정한 -avz --force --delete것 입니다. munge symlinks = no내가 여기서 정확히 무엇을 놓치고 있는지 잘 모르겠습니다.

예를 들어 server-1-rsync-sender에서 나는

test.rpm -> /var/www/html/repo/Package/test.rpm

Server-2-rsync-receiver rsycn에서 생성됨

test.rpm -> var/www/html/repo/Package/test.rpm

편집 #1 rsync 명령 완료

RSYNC_OPTIONS='-lavz --force --delete'

rsync $RSYNC_OPTIONS * rsync://${RSYNC_USER}@${rpm_server}:/yum >>/var/log/rsync_sync.log 2>&1

로그를 보면 올바른 심볼릭 링크가 있어야 함을 알 수 있습니다.

#2 rsyncd.conf 편집

[yum]
path = /var/www/html/repo
use chroot = no
max connections = 100
auth users = rpms
hosts allow = ***********
secrets file = ***********
uid = apache
gid = nobody
list = yes
read only = no
munge symlinks = no

나는 둘 다 닫혀 있기 때문에 munge 심볼릭 링크와 chroot의 조합이라고 생각합니다. 둘 다 rsync 없음으로 설정되면 첫 번째 항목이 제거되는 것 같습니다/

답변1

이 문제에 대한 해결책을 찾았습니다. rsyncd.conf에서 munge link 옵션을 제거한 다음 chroot = yes를 변경하면 기호 링크가 원활하게 마이그레이션됩니다.

이로 인해 보안 허점이 열릴 수 있지만 무엇이든 심볼릭 링크될 수 있으며 munge 링크와 chroot가 보호하도록 설계된 보호 장치는 없습니다. 따라서 이 솔루션을 사용하는 것은 환경에 따라 매우 다릅니다.

관련 정보