Estou tentando configurar um backup do meu NAS (QNAP TS-469 Pro) para o meu PC rodando Ubuntu 16.10, usando a "Estação de Backup" oferecida pelo NAS.
Se eu fizer ssh no NAS e executar os seguintes comandos, o rsync funcionará:
touch file.txt # Create "file.txt" on the QNAP
rsync file.txt username@ipaddress:~ # Backup "file.txt" on the backup PC
No entanto, ao configurar um backup a partir da GUI do NAS (em um navegador), recebo o erro
Número de porta inválido ou o serviço está desativado.
Eu li algumas coisas sobre a porta 873 ou a execução de um daemon rsync, mas tudo isso não está claro para mim.
Por que a execução rsync
manual funciona, enquanto recebo um erro com o "Backup Station"? É claro que, no final das contas, estou interessado em fazer o backup automático funcionar.
Responder1
O Rsync pode funcionar em dois modos diferentes:
- via SSH:Conexão Rsync (tanto para controle quanto para transferência de dados) dentro de um túnel SSH (basicamente usando pipes). Devido à onipresença do acesso SSH e à sua segurança, esta é frequentemente a abordagem preferida. No entanto, para ser verdadeiramente transparente e automatizado (sem necessidade de senha), era necessário configurar a autenticação RSA. Além disso, como todos os dados são criptografados por SSH, pode ser mais lento que a outra abordagem;
- via modo daemon (ou serviço):No sistema remoto, o Rsync é executado como um daemon/serviço, escutando na porta TCP 873. Este modo não possui criptografia integrada e, portanto, é mais rápido e menos seguro que o túnel SSH. É o modo usado pela QNAP para backups locais e remotos. Para permitir que a QNAP use seu PC como destino de backup (ou seja: fazer backup do NAS no PC), você precisa ativar o serviço Rsyncno seu computador. Embora não seja difícil, certamente é mais complexo do que um simples túnel SSH. Você pode encontrar mais informações na rede, por exemploaqui.
Responder2
Você provavelmente está ficando rsync over rsync
confuso rsync over ssh
.
Sincronizar novamente por SSH(usando sua configuração ssh)
rsync -av file.txt username@ipaddress:~
Este método atravessa um canal SSH e é criptografado.
Rsync sobre Rsyncusando o protocolo rsync padrão
rsync -av file.txt ipaddress::myhome/.
O último pressupõe que você configurou o rsyncd.conf e iniciou o rsync como um daemon. Como um daemon, toda a autenticação/segurança é definida em rsyncd.conf e não usa criptografia.
A maneira mais fácil de identificar a diferença são dois pontos após o endereço e o nome do compartilhamento após os dois pontos.
Aqui está um método muito simples eperigosoexemplo de rsyncd.conf (simples, porque root e permissões não são um problema. perigoso, porque rodar como root e não como chroot)
uid = root
gid = root
use chroot = no
max connections = 64
lock file = /var/tmp/rsyncd.lock
syslog facility = local5
pid file = /var/tmp/rsyncd.pid
strict modes = false
hosts allow = 192.168.120.2
timeout = 60
dont compress = *.xz *.gz *.tgz *.zip *.rpm *.bz2 *.7z *.rar *.jp* *.gif *.png *.avi *.mp* *.wmv *.asf *.flv *.m4v *.mkv *.mov *.ogm *.rm *.3g*
#refuse options = checksum delete
refuse options = delete
#
[myhome]
list = false
comment = "myhome"
path = /home/myself/mydir
read only = no
E aqui estou eu começando o dito daemon:
#!/bin/bash
set -o posix
set -u
# keep nagios happy
renice 19 -p $$ > /dev/null 2>&1
ionice -c3 -p $$ > /dev/null 2>&1
rsync --daemon --ipv4 --address=192.168.120.1 --config=/home/myhome/rsyncd.conf --log-file=/dev/shm/rsync.log