나는 그것을 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_args
rsnapshot
rsync -a
기본 조치는 rsync -a
기호 링크를 기호 링크로 복사하고 기호 링크의 대상을 무시하는 것입니다. (분명히 심볼릭 링크의 대상이 소스 파일 트리에 있으면 복사되지만 이는 포함된 심볼릭 링크의 대상이기 때문이 아니라 위치 때문입니다.)
심볼릭 링크 자체를 제외하려면 한 줄에 인용하면 됩니다 exclude
.
exclude /foo/bar
/home
리더 는 소스 트리의 루트이고 필터는 항상 소스의 루트를 기반으로 하기 때문에 포함하지 않았습니다 .