원격 셸 연결을 통한 Rsync: 서버가 인사말 대신 rsync 로그 메시지를 보냅니다.

원격 셸 연결을 통한 Rsync: 서버가 인사말 대신 rsync 로그 메시지를 보냅니다.

Asustor NAS에서 Ubuntu 서버로의 원격 셸 연결을 통해 rsync를 실행하려고 합니다. NAS의 명령은 웹 인터페이스에서 실행되므로 변경할 수 없습니다. 하지만 실행 중인 명령을 알고 있고 이를 수동으로 테스트할 수 있는데, 이로 인해 오류가 발생합니다. NAS에서 실행하면 다음과 같습니다.

$ /usr/builtin/bin/rsync -e "/usr/bin/ssh -l ssh-user-on-my-server -p 12345" --progress -a --timeout=60 rsync://[email protected]:873/rsync-module
[email protected]'s password: 
rsync: server sent "2017/01/17 19:38:58 [6920] connect from xxx-xxx-xxx-xxx-url-to-the-nas.com (xxx.xxx.xxx.xxx)" rather than greeting
rsync error: error starting client-server protocol (code 5) at /asustor/branch2_6_2016_09_22/x64_g1/source/rsync-3.0.9/main.c(1649) [Receiver=3.0.9]

우연히 위의 메시지가 rsyncd의 로그 형식과 똑같다는 것을 알게 되었습니다. 다음은 SSH 없이 NAS에서 Ubuntu 서버로 rsync를 실행할 때 rsyncd의 출력 예입니다.

2017/01/06 23:42:13 [5979] connect from xxx-xxx-xxx-xxx-url-to-the-nas.com (xxx.xxx.xxx.xxx)
2017/01/06 22:42:13 [5979] rsync on rsync-module/ from [email protected] (xxx.xxx.xxx.xxx)
2017/01/06 22:42:13 [5979] building file list
2017/01/06 22:42:14 [5979] sent 172 bytes  received 24 bytes  total size

SSH와 rsync가 모두 자체적으로 작동한다는 것을 확인했습니다. 이 문제는 원격 셸 연결을 통한 rsync 스크립트를 실행하려고 할 때만 발생합니다.

이거 많이 닮은 것 같아호스트 IP 변경 후 SSH 및 루트와의 재동기화가 작동하지 않습니다., 그런데 문제는 의 인사말 메시지였습니다 .bashrc.

답변1

나는 스스로 답을 찾았습니다. 내가 말했듯이 rsync가 불평한 출력은 rsync 로그와 똑같아 보였습니다. 문제는 내 rsyncd.conf. 저는 rsync 서비스용 도커를 구축하여 이 프로젝트를 시작했습니다. Docker로부터 피드백을 받기 위해 구성 파일에 다음 줄을 추가했습니다 log file = /dev/stdout. rsync 데몬은 로그를 stdout! 에 직접 인쇄했습니다.

관련 정보