NAS (QNAP TS-469 Pro) が提供する「バックアップ ステーション」を使用して、NAS から Ubuntu 16.10 を実行している PC へのバックアップを設定しようとしています。
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
? もちろん、最終的には自動バックアップを機能させることに興味があります。
答え1
Rsync は次の 2 つの異なるモードで動作します。
- SSH経由:SSH トンネル内の Rsync 接続 (制御とデータ転送の両方) (基本的にパイプを使用)。SSH アクセスの普遍性とセキュリティのため、このアプローチが好まれることがよくあります。ただし、完全に透過的で自動化された (パスワードが不要) ためには、RSA 認証を設定する必要があります。さらに、すべてのデータが SSH によって暗号化されるため、他のアプローチよりも遅くなる可能性があります。
- デーモン(またはサービス)モード経由:リモートシステムでは、Rsyncはデーモン/サービスとして実行され、ポートTCP 873でリッスンします。このモードには暗号化が組み込まれていないため、SSHトンネルよりも高速ですが、安全性は低くなります。これは、QNAPがローカルおよびリモートバックアップに使用するモードです。QNAPがPCをバックアップターゲットとして使用できるようにするには(つまり、PC上のNASをバックアップするには)、Rsyncサービスを有効にする必要があります。あなたのパソコンで難しくはないが、単純なSSHトンネルよりも複雑であることは確かだ。ネット上でさらに詳しい情報を見つけることができます。例えば、ここ。
答え2
おそらく混乱していると思いrsync over rsync
ますrsync over ssh
。
SSH 経由の Rsync(SSH 設定を使用)
rsync -av file.txt username@ipaddress:~
このメソッドは SSH チャネルを通過し、暗号化されます。
Rsync 経由の Rsync標準のrsyncプロトコルを使用する
rsync -av file.txt ipaddress::myhome/.
後者は、rsyncd.conf を設定し、rsync をデーモンとして起動していることを前提としています。デーモンの場合、すべての認証/セキュリティは rsyncd.conf で定義され、暗号化は使用されません。
違いを簡単に見分ける方法は、アドレスの後の 2 つのコロンと、その 2 つのコロンの後の共有名です。
これは本当にシンプルで危険なrsyncd.conf の例 (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