NASが提供する「バックアップステーション」を使用して、Ubuntu 16.10を実行しているPCに、NAS(QNAP TS-469 Pro))からバックアップをセットアップしようとしています。
NAS=にsshして次のコマンドを実行すると、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は2つの異なるモードで動作できます。
おそらくrsync over rsync
対rsync over ssh
混乱しています。
Rsync over SSH(ssh設定を使用)
rsync -av file.txt username@ipaddress:~
このメソッドはSSHチャネルを通過し、暗号化されます。
Rsync over Rsync標準のrsyncプロトコルを使用
rsync -av file.txt ipaddress::myhome/.
後者では、rsyncd.confを設定し、rsyncをデーモンとして開始したと想定しています。デーモンとして、すべての認証/セキュリティはrsyncd.confで定義され、これは暗号化を使用しません。
違いを見つける簡単な方法は、アドレスの後に2つのコロンを付け、2つのコロンの後に共有名を付けることです。
これは本当にシンプルで、rsyncd.confのdangerousの例です(rootとアクセス権は問題ではないため、単純です。chrootではなくrootとして実行しているため、危険です)。
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