
다음 명령을 사용하여(또는 사용하려고) 네트워크를 통해 자동 rsync를 설정하고 있습니다.
rsync -e ssh -avhxAXHr --rsync-path="sudo rsync" --exclude-from=:$EXCLUDEFILE --link-dest=$LINKDEST --files-from=:$SOURCES backupuser@${RMTHST}:/ $DESTDIR
복사할 수 있는 내용을 소스 호스트가 책임지기를 원합니다. 이를 위해 소스 호스트에서 backupuser에 대한 sudo 항목을 잠갔습니다.가지다--files-from
소스 호스트에서 파일을 가져옵니다. sudoers 항목은 다음과 같습니다.
backupuser ALL(root:root) /usr/bin/rsync --server --sender -vlHogDtpAXrRxe.iLs --files-from /securepath/from-file . /
rsync 매뉴얼 페이지에는 다음과 같이 명시되어 있습니다.
...the --files-from file can be read from the remote host instead of the
local host if you specify a "host:" in front of the file (the host must
match one end of the transfer). As a short-cut, you can specify just a
prefix of ":" to mean "use the remote end of the transfer". For example:
rsync -a --files-from=:/path/file-list src:/ /tmp/copy
--files-from
이 파일을 소스 호스트에서 유지 관리 할 예정이므로 --exclude-from
소스 호스트에서도 이 파일을 유지 관리해야 합니다. 그러나 rsync 매뉴얼 페이지에는 원격 호스트에서 파일을 추출하는 방법이 설명되어 있지 않으며 --exclude-from
--files-from과 유사한 형식을 사용할 때 테스트가 실패했습니다. 이는 보안 관점에서는 큰 문제가 아니지만 여러 서버를 처리할 때 동일한 위치에 두 개의 파일을 유지 관리할 수 없으면 관리상의 골칫거리가 될 수 있습니다.
내가 뭐 놓친 거 없니? rsync가 원격 서버에서 두 파일을 모두 가져오도록 하는 방법이 있습니까(먼저 파일에서 --exclude-를 가져오기 위해 별도의 초기 rsync를 실행하는 것이 부족함)?
답변1
이미 원격으로 sudo를 사용하고 있고 원격으로 액세스되는 항목도 제어하려는 경우 rsync를 데몬으로 사용하는 것도 고려해야 합니다. 바라보다수동 rsyncd.conf
이는 표시할 파일, 데이터 흐름 방향(예: 읽기 전용), 서비스 사용 가능 시기 등을 제어할 수 있는 문을 열 수 있음을 의미합니다. sudo가 필요하지 않으며 로그인이 허용되는 사용자를 제한할 수 있습니다.
/etc/rsyncd.conf
특히 제외 파일을 지정할 수 있습니다.
exclude from = somefilename