困惑rsync,端口873和NAS

我试图用我的NAS(QNAP TS-469 Pro)来备份我运行Ubuntu 16.10的个人电脑,使用NAS提供的“备份站”。

如果我SSH到NAS并运行以下命令,rsync工程:

touch file.txt # Create "file.txt" on the QNAP rsync file.txt username@ipaddress:~ # Backup "file.txt" on the backup PC 

但是,从NAS的GUI(在浏览器中)设置备份时,出现错误

无效的端口号或服务被禁用

我读了一些关于端口873或运行rsync守护进程的东西,但是这一切对我来说都很不清楚。

为什么运行rsync手动工作,而我的“备份站”出现错误? 当然最后,我有兴趣做自动备份工作。

Rsync可以在两种不同的模式下工作:

  • 通过SSH隧道: rsync连接(用于控制和数据传输)在SSH隧道(基本上使用pipe道)内隧道化。 由于SSH访问的普遍性及其安全性,这通常是首选的方法。 但是,要真正实现透明和自动化(不需要密码),您必须设置RSA身份validation。 而且,由于所有的数据都是通过SSHencryption的,所以可能比其他方法慢。
  • 通过守护进程(或服务)模式:在远程系统上,rsync作为守护程序/服务运行,监听端口TCP 873.该模式没有内置encryption,所以它比SSH隧道更快,更安全。 这是QNAP用于本地和远程备份的模式。 为了让QNAP使用您的PC作为其备份目标(即:备份PC上的NAS),您需要启用PC上的rsync服务。 虽然不难,但它肯定比简单的SSH隧道更复杂。 你可以在网上find更多的信息,例如这里 。

你可能rsync over rsync vs rsync over ssh获取rsync over rsync困惑。

通过SSH Rsync (使用您的SSHconfiguration)

 rsync -av file.txt username@ipaddress:~ 

这个方法遍历一个SSH通道并被encryption。

Rsync使用标准的rsync协议Rsync

 rsync -av file.txt ipaddress::myhome/. 

后者假设你已经设置了rsyncd.conf并启动了rsync作为守护进程。 作为一个守护进程,所有的authentication/安全都在rsyncd.conf中定义,并且不使用encryption。

发现差异的简单方法是在两个冒号后面的地址和共享名后面的两个冒号。

这是一个非常简单和危险的rsyncd.conf示例(很简单,因为root和权限不是问题,危险,因为root用户而不是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 

这里是我开始守护进程:

 #!/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