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.