rsync는 디렉터리를 제외할 수 없습니다.

rsync는 디렉터리를 제외할 수 없습니다.

우리는 이를 사용하여 rsync한 위치에서 다른 호스트의 다른 위치로 파일을 복사합니다. 특정 디렉터리를 원본 위치에서 제외하여 해당 디렉터리의 파일이 복사되지 않도록 하려고 합니다. 이 디렉터리의 파일은 실제로 세션 데이터이며 세션이 완료된 후 삭제됩니다. 따라서 이 디렉토리를 제외합니다.

이를 위해 rsync제외 디렉터리를 다음과 같이 수정했습니다.

rsync -av --exclude '/share/web/moodle/moodledata/sessions/' --rsync-path "sudo rsync" /share/ 172.31.X.X:/share/ &>/home/fsync/rsyncjob/output."$datetime";

하지만 로그 파일에서 해당 디렉터리가 로그 파일을 복사하려고 시도하고 있기 때문에 해당 디렉터리가 제외되지 않은 것을 볼 수 있습니다.

rsync: send_files failed to open "/share/web/moodle/moodledata/sessions/sess_bnktcuvnv965dj4qtv1438o651": Permission denied (13)
rsync: send_files failed to open "/share/web/moodle/moodledata/sessions/sess_d2vvo9ip79jc13qafgq5of50s2": Permission denied (13)

이 디렉터리를 제외하려면 수정 사항을 제안해 주세요.

답변1

질문을 게시하기 전에 항상 유사한 토론이 이미 있는지 확인하십시오.

rsync를 사용하면 /로 시작하는 모든 제외(또는 포함) 경로가 전송 루트에 고정됩니다. 이 예에서 전송의 루트 디렉터리는 /share입니다. 절대 경로 대신 상대 경로를 사용하면 작동합니다.

추가 참조를 위해,

rsync 제외 디렉터리가 작동하지 않습니다.

관련 정보