Eu usei de algum tempo o rsync / ssh para fazer backup do conteúdo do host compartilhado para o meu Synology NAS (212j) e funcionou muito bem.
Para obter informações, uso uma conexão ssh
sem senha.
3 dias atrás, eu atualizei meu software NAS e desde então (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 mudou que eu saiba tanto na origem quanto no destino que pode estar relacionado a rsync
ou ssh
, eu verifiquei algumas coisas e tudo parece estar bem:
- Ainda posso me conectar por meio do
ssh
do host ao meu NAS com o bom usuário, por isso as coisas do ssh, como as chaves, não mudaram.
- Eu também tenho as permissões de arquivo corretas no NAS (verifiquei e também tentei criar arquivos, diretórios, .. com o usuário usado por
rsync
a ssh
).
Eu li aqui e ali que o erro significa que tenho que garantir que meu rsyncd.conf
tenha o read only = no
correto nele, mas, até onde eu sei, nunca usei rsyncd
, assim como nunca configurei nada por isso 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 estou preso e realmente não consigo descobrir o que aconteceu.
Editar:
Como sugerido nos comentários, eu também tentei passar comandos para o ssh (mas não de dentro de uma sessão ssh), que funcionou como esperado, e também tentei um único comando rsync, que não funcionou, falhando como o comando 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