심볼릭 링크 폴더에서 데이터를 복사하는 스크립트를 설정하려고 합니다. 아이디어는 폴더를 설정하고 이 폴더에 여러 개의 심볼릭 링크를 만든 다음 rsync가 해당 디렉터리의 데이터를 복사하는 것입니다.
/backups/local/
/backups/local/etc # symlink to /etc/
/backups/local/var # symlink to /var/
/backups/local/home # symlink to /home/
이는 파일을 복사할 때 문제가 되고 걱정거리가 됩니다. 이제 추가 심볼릭 링크에 대해 걱정해야 합니다. 내가 보고 싶은 것은 다음 디렉토리를 복사하기 위해 루트 심볼릭 링크만 처리하지만 그 /etc/
/var/
안에 있거나 발견된 심볼릭 링크 /home/
도 복사되지 않는다는 것입니다.
테스트하기 위해 내부에 또 다른 심볼릭 링크를 넣었고 /etc/
시도한 모든 옵션을 사용하여 매번 전체 파일 내용을 복사했습니다./home/
/home/etc
/home/etc/
나는 다음 옵션을 찾아 시도해 보았고 그것이 내가 찾고 있는 것일 수도 있다고 생각합니다.
rsync -avz -L [options] # i knew this would copy everything and it did.
rsync -avz -L --copy-unsafe-links [options] # copies all symlinks recursively still.
rsync -avz --copy-unsafe-links [options] # still copies all symlinks file/contents recursively
--copy-unsafe-links 옵션을 사용해 보았습니다. 매뉴얼 페이지에 루트 심볼릭 링크가 안전하지 않은 것으로 간주된다고 나와 있었기 때문에 루트 심볼릭 링크만 복사할 수도 있다고 생각했습니다.
답변1
-a
이는 기억 옵션을 사용했고 활성화된 -a = -rlptgoD
것을 확인했기 때문 -l --links
입니다. 다음을 시도해 보십시오.
rsync -vzrptgoD -L SRCFOLDER DSTFOLDER