호스트에 대한 단일 rsync에서 호출 된 모든 rsync 매개 변수를 어떻게 얻을 수 있습니까?

EGr

rsync가 호스트에 대해 실행될 때 전달 된 매개 변수를 구문 분석하려고합니다. 내가 통과 그래서 만약 --delete --prune-empty-dirs하고 --timeout=60, 내가 알고 싶은 것입니다. pre-xfer execrsyncd.conf 파일에서 사용할 수 있다는 것을 알고 있으며 인수를 다른 스크립트 (예 :)로 전달할 수 $RSYNC_ARG0,$RSYNC_ARG1,...$RSYNC_ARGN있습니다. 내가 가진 문제는 이들 중 일부가 실제 주장으로 돌아온다는 것입니다.

bwlimit=100000

delete

그러나 다른 사람들은 이상한 문자열로 돌아옵니다.

vOtre.iLsf

전달 된 인수 / 매개 변수를 확인하기 위해 이러한 문자열을 구문 분석하는 방법이 있습니까? 다음은 동기화 호스트에 전달한 인수입니다.

--recursive --times --omit-dir-times --timeout=15 --bwlimit=100000 --port=38700 --quiet --exclude='string1' --exclude='string2' --exclude='string3' --exclude='string4' --exclude='string5' --exclude='string6' --exclude='string7' --timeout=60 --delete --prune-empty-dirs

그리고 다음은 내가받은 인수입니다 pre-xfer exec(쉼표로 구분).

server,mOtre.isf,timeout=60,bwlimit=100000,delete

어떤 도움이라도 대단히 감사하겠습니다.

이것이 중요한지 모르겠지만 Linux 상자에서 Windows 상자의 cygwin에서 rsync로 동기화하고 있습니다. 매개 변수 / 인수 / 값이 동일하다고 가정하지만 주목할 가치가 있다고 생각했습니다.

EDIT mOtr 는을 의미 --prune-empty-dirs --omit-dir-times --times --recursive하지만 .의미 후에는 무엇인지 모르겠습니다 ...

wojtow

서버 측에서는 클라이언트 측 명령에 제공되는 옵션을 직접 볼 수 없습니다. 클라이언트 측 명령은 옵션을 구문 분석 한 다음 서버 rsync 프로세스에 전달할 옵션 세트를 생성합니다.

서버는 자신의 일부를 수행하기 위해 알아야하는 옵션 만 가져옵니다. 예를 들어, exclude 옵션은 양측 간의 네트워크 연결에서 rsync 프로토콜을 통해 수행되는 파일 선택 프로세스의 일부입니다. 명령 줄을 통해 서버 측으로 전달되지 않습니다.

임의의 문자 Blob은 서버가 알아야하는 코드화 된 플래그 집합이있는 클라이언트에 구축 된 문자열입니다. 이들 중 일부는 추측 한대로 rsync 명령 줄의 짧은 옵션과 동일한 의미를 갖지만 다른 일부는 다른 의미를 갖거나 서버 작업에 고유합니다. (소스 코드를 다운로드하면 options.c의 'server_options'함수를 보면 알 수 있습니다)

안타깝게도 클라이언트 측 명령에 전달 된 정확한 명령 줄을 기반으로 결정을 내리려면 운이 좋지 않을 수 있습니다. 그러나 다른 환경 변수와 함께 필요한 정보를 계속 수행하기 위해 RSYNC_ARG에 전달되는 정보가 충분할 수 있습니다.

pre-xfer 스크립트가 실패하도록하여 특정 활동을 차단하는 것이 목표 인 경우 rsyncd.conf에서 다른 제한 및 제한을 설정하여 일부 작업을 수행 할 수도 있습니다.

행운을 빕니다!

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관