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