rsync에 대해 --delete-excluded는 정확히 어떤 작업을 수행합니까?


32

--delete-excluded매개 변수 에 대한 질문이 있지만 서버를 백업 할 때 rsync를 큰 즐거움으로 사용합니다 .

/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded     --rsh=/usr/bin/ssh root@server01:/etc /.snapshot/hourly.0/server01

보낸 사람 man rsync:

 --delete-excluded       also delete excluded files from dest dirs

나를 위해, 비 영어 네이티브, rsync를 내가 가진 그렇다면, 원격 서버의 실제 대상 디렉토리에서 제외 된 디렉토리를 삭제할 것을이 수단 /home/backup/home/settings나의 제외 폴더에서 해당 폴더가 실제로 될 원격 서버에서 제거 .

다른 여러 리소스에서 공간을 절약하기 위해 로컬 백업 폴더에서 파일을 삭제하는 것으로 보입니다. 예를 들어 서버 자체에 작은 백업을 생성하고이 데이터를 제외하면 스토리지 공간을 낭비하지 않습니다.

사람들이 작동한다고 말하면서 rsync가 단방향으로 만 작업을 수행하지만 원격 서버에서 파일 / 디렉토리를 삭제하는 소프트웨어를 가질 위험을 감수하고 싶지는 않습니다.

답변:


37

당신의 해석은 정확합니다. 파일이나 디렉토리를 전송에서 제외한 경우 --delete-excluded는 대상 측에서 제거합니다 ( "원격 서버"일 필요는 없습니다 rsync. 서버에서 로컬 컴퓨터로 복사 하는 데 사용할 수 있습니다 ). 그곳에서 찾아냅니다. 예를 들어,를 사용하는 --exclude=*.o --delete-excluded경우 rsync가 대상 측에서 .o로 끝나는 파일을 찾으면 소스 디렉토리에 있는지 여부에 관계없이 해당 파일을 제거합니다.


1
따라서 원격 서버가 아닌 /.snapshot/hourly.0/server01에서 디렉토리 / 파일을 제거합니까?
ujjain

3
@chronoz 원격 서버에서 로컬 컴퓨터로 복사하는 경우 대상은 로컬 컴퓨터입니다. 로컬 컴퓨터에서 원격 서버로 복사하는 경우 대상은 원격 서버입니다. 목적지는 여기서 중요한 것입니다. 대상이 원격 서버 인 경우 원격 서버에서 파일을 제거합니다.
DerfK

여기에서 확인 : comentum.com/rsync.html
SDsolar

1
최근에 "--delete-excluded"가 "--delete --delete-excluded"와 완전히 동일하다는 것을 발견했습니다. 위에 제공된 응답 예제에서 소스 측에없는 원격 파일도 삭제됩니다.
Wayne
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.