ssh를 통한 Rsync :“오류 : 모듈이 읽기 전용입니다.”갑자기 나타남


11

나는 때때로 rsync / ssh를 사용하여 공유 호스트 내용을 개인 Synology NAS (그 문제의 경우 212j)에 백업했으며 꽤 잘 작동했습니다. 자세한 내용은 암호가없는 ssh연결을 사용 합니다.

3 일 전에 NAS 소프트웨어를 업데이트했으며 그 이후로는 (또는 그 이후라고 생각합니다) 백업이 더 이상 작동하지 않습니다. 호스트에서 다음과 같은 오류가 발생합니다.

rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
ERROR: module is read only 

.. 나는 이해하지 못한다. 그 외에도 rsyncor 와 관련 될 수있는 소스와 대상 모두에서 변경된 것이 아무것도 없지만 ssh몇 가지 사항을 확인했으며 모두 괜찮은 것처럼 보입니다.

  • ssh좋은 사용자로 호스트에서 NAS로 계속 연결할 수 있으므로 키와 같은 ssh 항목은 변경되지 않았습니다.
  • 또한 NAS에 대한 올바른 파일 권한이 있습니다 (확인하고,를 rsync통해 사용하는 사용자로 파일, 디렉토리, ..를 만들려고 시도했습니다 ssh).

나는 여기저기서 읽은 오류는 내가 그것에 rsyncd.conf권리 read only = no를 가지고 있음을 보장해야한다는 것을 의미 하지만, 내가 아는 한, 나는 rsyncd그것을 위해 아무것도 구성하지 않았으며 지금까지는 매력처럼 작동했습니다. .

다음 명령을 사용하여 백업을 수행합니다.

rsync -ab --recursive \
--files-from="$FILES_FROM" \
--backup-dir=backup_$SUFFIX \
--delete \
--filter='protect backup_*' \
$WDIRECTORY/ \
remote_backup:$REMOTE_BACKUP/

그래서 나는 붙어 있고 실제로 무슨 일이 있었는지 알 수 없습니다.


편집하다:

의견에서 제안했듯이, 명령을 ssh (ssh 세션 내부에서가 아닌)로 전달하려고 시도했지만 예상대로 작동했으며 전체 백업 명령처럼 실패한 단일 rsync 명령도 시도했습니다.

(sharedHost):hostuser:~ > touch test.txt
(sharedHost):hostuser:~ > rsync test.txt remote_backup:backups/test.txt
ERROR: module is read only
rsync error: syntax or usage error (code 1) at main.c(1034) [Receiver=3.0.8]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]

(sharedHost):hostuser:~ > ssh remote_backup 'touch /abs_path_to_backups/backups/test2.txt && echo "ProoF" > /abs_path_to_backups/backups/test2.txt'
(sharedHost):hostuser:~ > ssh remote_backup 'cat /abs_path_to_backups/backups/test2.txt'
ProoF

원격 업데이트 테스트를 수행하지만 ssh 로그인 세션 대신 명령 줄에서 ssh에 제공된 명령을 사용하십시오. 또한 대상 공간이 가득 차지 않았는지 확인하십시오.
Skaperen

제안 해 주셔서 감사합니다. 나는 그 결과로 질문을 편집했다. 또한 대상 공간이 전혀 가득
차지 않았습니다

답변:


19

Synology NAS를 DSM 4.1로 업데이트 한 후에도 같은 문제가있었습니다. 또한 SSH를 통해 rsync를 수행합니다. 내 상황에서 rsync 사용자를 사용하여 root @ ip도 작동했지만 원하지 않는 소유자 루트로 서버에 파일을 남겼습니다.

NAS 관리 사용자 인터페이스에서 ControlPanel-> Users-> MyRSyncUser-> Edit-> "Priviliges setup"에서 어떤 이유로 든 집에 대한 읽기 / 쓰기 액세스 권한이 없다는 것을 알았습니다. 내 RSYNC 목적지는 집 아래에 있습니다.

이것을 privilidge로 설정하면 나를 위해 일했습니다. 이게 도움이 되길 바란다.


정말 고맙습니다 ! 작동했습니다! 다음에 DSM을 업데이트 할 때는 권한을 다시 확인
하겠습니다

8
전체 경로 이름을 사용하면 (즉, rsync something nas:/volume2/homes/foo/bar/대신 rsync something nas:bar/) 작동하는 것 같습니다 .
Jukka Suomela

전체 경로는 디버깅의 성가신 시합의 마지막 단계였습니다. 감사!
joevallender 2016 년

1
이 솔루션의 문제점 (더 나은 것을 찾지 못함)은 자신의 것이 아니라 모든 사용자 가정에 대한 사용자 권한을 부여한다는 것입니다.
CryingCyclops

필자의 경우 (새로운 버전으로 가정) 모듈 기반 구문으로 변경해야했습니다 ( superuser.com/questions/559047/… 참조 )
sknat

6

오류를 제거했습니다. 원격 경로를 / var / services / homes / rsync에서 / volume2 / homes / rsync로 변경하여 모듈을 읽기만합니다.

DSM 5.1


4

synology ds1010 +를 dsm 4.1-2661로 업그레이드 한 후 동일한 문제점이 발생했습니다.

나는 synology가 제공하는 rsync에 무슨 일이 있었는지 이해할 시간이 없지만 표준으로 보이지는 않습니다. 여기 내 해결 방법이 있습니다 ...

권한을 해킹하고 싶지 않기 때문에 (다중 사용자 설정) 랩톱에서 rsync를 정적으로 다시 컴파일 한 다음 바이너리를 sinology nas로 옮겼습니다.

wget https://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
tar xzvf rsync-3.0.9.tar.gz
cd rsync-3.0.9
export CFLAGS=--static
./configure
make

scp rsync <login>@<nas_hostname>:

이 매개 변수를 사용하여 rsync에 기본 바이너리 대신 새 바이너리를 사용하도록 지시 할 수 있습니다.

--rsync-path=<myhome>/rsync

이제 다음 매개 변수를 duplicity에 추가하여 rsync와 함께 duplicity를 계속 사용할 수 있습니다.

--rsync-options="--rsync-path=<myhome>/rsync"

ipkg를 사용하여 새 rsync를 설치하는 것을 제외하고는 DS212j에서 수행 한 작업입니다. ipkg 설치에 대한 Synology의 지침은 여기에 있습니다 .
Jason

DSM 5.2의 ipkg에서 아무것도 찾을 수 없으므로 DS215j의 경우 다음과 같이 컴파일했습니다 (이미 크로스 컴파일러 arm-unknown-eabi-gcc가 있습니다) ./configure --host=armv7 CFLAGS=-static EXEEXT=-static --prefix=/opt CC=arm-unknown-linux-gnueabi-gcc && make && arm-unknown-linux-gnueabi-strip rsync && make DESTDIR=$PWD/../prefix install. 바이너리를 NAS의 / opt / bin /에 넣습니다. 또한 / sbin / nologin을 / bin / sh로 변경하여 백업 사용자에게 / etc / passwd에 쉘을 제공해야합니다 (보다 안전한 옵션이 있어야 함).
thomasa88

1

나는 같은 종류의 문제가 있었지만 rsync에 전용 사용자를 사용하지 않았습니다.

제어판-> 공유 폴더에서 권한을 수정해야했습니다.


0

Putty의 ssh를 통해 Synology 211j에 연결하는 동안 비슷한 문제가 발생했습니다. 나는 가능하게해야했다

"제어판-> 네트워크 백업-> 네트워크 백업 서비스 활성화".

지금 일하고 있습니다.


-1

관리자 또는 일반 사용자 대신 루트로 로그인하여 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.