Eu usei o rsync / ssh há algum tempo para fazer backup do meu conteúdo de host compartilhado no meu Synology NAS pessoal (212j), e funcionou muito bem. Para obter informações, eu uso uma ssh
conexão sem senha .
Há 3 dias, atualizei meu software NAS e, desde (ou pelo menos acredito que seja desde então), o backup não funcionará mais. Eu recebo o seguinte erro no host:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
ERROR: module is read only
..que eu não entendo. além disso, nada que eu saiba sobre a origem e o destino que possa ser relacionado rsync
ou ssh
verifiquei algumas coisas e tudo parece estar bem:
- Ainda consigo me conectar
ssh
do host ao meu NAS com o bom usuário, para que coisas ssh como chaves não tenham mudado. - Eu também tenho as permissões de arquivo correto no NAS (que verifiquei, e também tentou criar arquivos, diretórios .. com o usuário utilizado pelo
rsync
meiossh
).
Eu li aqui e ali que o erro significa que eu tenho que garantir que o meu rsyncd.conf
tenha o direito read only = no
, mas, tanto quanto eu sei, nunca usei rsyncd
tão bem como nunca configurei nada para ele e até agora funcionou como um encanto. .
Eu uso o seguinte comando para fazer o backup:
rsync -ab --recursive \
--files-from="$FILES_FROM" \
--backup-dir=backup_$SUFFIX \
--delete \
--filter='protect backup_*' \
$WDIRECTORY/ \
remote_backup:$REMOTE_BACKUP/
Então, eu estou preso e realmente não consigo descobrir o que aconteceu.
Editar:
Como sugerido nos comentários, também tentei passar comandos para o ssh (mas não de dentro de uma sessão ssh), que funcionavam conforme o esperado, e também tentei um único comando rsync, que não funcionou, falhando exatamente como o comando de backup completo.
(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]
e
(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
Respostas:
Eu tive o mesmo problema depois de atualizar meu Synology NAS para o DSM 4.1. Eu também faço o rsync sobre SSH. Na minha situação, o usuário rsync root @ ip também funcionou, mas deixou os arquivos no servidor com o proprietário root, o que eu não queria.
Eu descobri na interface do usuário administrador do NAS que, por algum motivo, em ControlPanel-> Usuários-> MyRSyncUser-> Editar -> "Configuração de privilégios", não havia acesso de leitura / gravação às residências. Meu destino RSYNC está embaixo das casas.
Definir isso como privilidge funcionou para mim. Eu espero que isso ajude.
fonte
rsync something nas:/volume2/homes/foo/bar/
vez dersync something nas:bar/
).Eu me livrei de ERRO: o módulo é somente leitura alterando o caminho remoto de / var / services / homes / rsync para / volume2 / homes / rsync
DSM 5.1
fonte
Encontrei o mesmo problema depois de atualizar um synology ds1010 + para dsm 4.1-2661.
Não tenho tempo para entender o que aconteceu com o rsync fornecido pela sinologia, mas não parece padrão. Então, aqui está minha solução alternativa ...
Como não queria invadir os privilégios (configuração para vários usuários), recompilei o rsync em estática no meu laptop e transferi o binário no nas de sinologia.
Você pode dizer ao rsync para usar seu novo binário em vez do padrão, com este parâmetro:
Agora posso continuar usando a duplicidade com o rsync, adicionando o seguinte parâmetro à duplicidade:
fonte
./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
. Coloque o binário em / opt / bin / no NAS. Também tenho que dar ao meu usuário de backup um shell em / etc / passwd alterando / sbin / nologin para / bin / sh (deve haver algumas opções mais seguras).Eu tive o mesmo tipo de problema, mas não estava usando um usuário dedicado para o rsync.
Eu tive que corrigir privilégios no Painel de controle -> pastas compartilhadas.
fonte
Eu tive um problema semelhante ao me conectar ao Synology 211j pelo ssh de Putty. Eu tive que habilitar
"Painel de controle -> Backup de rede -> Ativar serviço de backup de rede".
Está funcionando agora.
fonte
Eu consegui fazê-lo entrando como root em vez de administrador ou usuário comum.
fonte