rsync/rsnapshot에서 심볼릭 링크를 제외하는 방법

rsync/rsnapshot에서 심볼릭 링크를 제외하는 방법

나는 그것을 rsnapshot백업을 관리하는 데 사용합니다. 파일이 /home/foo/bar폴더에 대한 심볼릭 링크이므로 제외하고 싶습니다. --exclude패턴이 a로 끝나는 경우 /기호 링크가 아닌 디렉토리만 일치하므로 이 옵션은 효과가 없습니다.

어떻게 해야 하나요?

매뉴얼 rsync페이지에는 다음과 같이 나와 있습니다.

패턴이 a로 끝나는 경우 /일반 파일, 심볼릭 링크 또는 장치가 아닌 디렉터리만 일치합니다.

그래서 제가 묻는 것은: rsnapshot폴더에서 심볼릭 링크를 어떻게 제외합니까?

링크가 인 경우 /home/foo/bar다음 구성 라인 중 올바른 것은 무엇입니까?

exclude /home/foo/bar/

exclude /home/foo/bar

exclude /home/foo/bar**

exclude /home/foo/bar***

이것은 내가 지금 사용하고 있는 구성 파일입니다.

config_version  1.2
snapshot_root   /media/satellite/rsnapshot/

cmd_cp      /bin/cp
cmd_rm      /bin/rm
cmd_rsync   /usr/bin/rsync
cmd_logger  /usr/bin/logger

retain      hourly  6
retain      daily   7
retain      weekly  4

verbose     2
loglevel    3

lockfile    /var/run/rsnapshot.pid

exclude /home/roberto/media/
exclude /home/roberto/media
exclude /home/roberto/media**
exclude /home/roberto/media***

backup  /home/      localhost/
backup  /etc/       localhost/
backup  /usr/local/ localhost/
backup  /var/www/   localhost/

/home/roberto/media심볼릭 링크 /media, 즉 디렉토리는 어디에 있습니까?

답변1

구성 파일에서 또는 를 설정하지 않는 한 을 rsync_short_args사용하여 복사를 수행하게 됩니다.rsync_long_argsrsnapshotrsync -a

기본 조치는 rsync -a기호 링크를 기호 링크로 복사하고 기호 링크의 대상을 무시하는 것입니다. (분명히 심볼릭 링크의 대상이 소스 파일 트리에 있으면 복사되지만 이는 포함된 심볼릭 링크의 대상이기 때문이 아니라 위치 때문입니다.)

심볼릭 링크 자체를 제외하려면 한 줄에 인용하면 됩니다 exclude.

exclude /foo/bar

/home리더 는 소스 트리의 루트이고 필터는 항상 소스의 루트를 기반으로 하기 때문에 포함하지 않았습니다 .

관련 정보