web-dev-qa-db-ja.com

sftp経由でrsyncを機能させることができません

UbuntuサーバーからSynologyにバックアップシステムをセットアップしようとしていますNAS(DS413j)rsyncとsftpを使用しています。

このために、ubuntu-backupと呼ぶことができるユーザーを作成しました。私は、バックアップが保存されるwwwという名前のubuntu-backupホームディレクトリにディレクトリを持っています。 DSMでネットワークバックアップを有効にしましたユーザーubuntu-backupはそのホームディレクトリへのフルアクセス権を持っています

SynologyNASのrsync設定ファイルは次のとおりです。

#motd file = /etc/rsyncd.motd
#log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
use chroot = no
[NetBackup]
path = /var/services/NetBackup
comment = Network Backup Share
uid = root
gid = root
read only = no
list = yes
charset = utf-8
auth users = root
secrets file = /etc/rsyncd.secrets

[ubuntu-backup]
path = /volume1/homes/ubuntu-backup/www
comment = Ubuntu Backup
uid = ubuntu-backup
gid = users
read only = false
auth users = ubuntu-backup
secrets file = /etc/rsyncd.secrets

/ volume1/homes/ubuntu-backup/wwwの権限はubuntu-backup:users777です。

これが私が実行しているコマンドです。

rsync -aHvhiPb  /var/www/ [email protected]:./

結果:

sending incremental file list
ERROR: module is read only
rsync error: syntax or usage error (code 1) at main.c(1034) [Receiver=3.0.9]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]

これを実行している場合:

rsync -aHvhiPb  /var/www/ [email protected]

送信ファイルのようです。エラーはありません。しかし、NASには何も見つかりません。

6
Patrik

rsyncはSFTPを実行しません。マニュアルページから:

   There  are  two  different  ways for rsync to contact a remote system:
   using a remote-Shell program as the transport (such as ssh or rsh)  or
   contacting  an rsync daemon directly via TCP. 

SFTPはシェルを提供しません。rsyncでは機能しません。代わりにSSH接続が必要になります。

SSH接続を許可したら、SSHを使用するようにrsyncに具体的に指示する必要がある場合があります。それにはいくつかの方法があります。

rsync -aHvhiPb --rsh=ssh  /var/www/ [email protected]:./

または

rsync -aHvhiPb  "ssh -l ubuntu-backup"  /var/www/ backup.example.com:./

Rsyncのmanページにはもっとたくさんの例があります。

2番目の例では、ファイルを直接にある[email protected]という名前のディレクトリに同期しています。リモートサーバーを指定するには、仕様のどこかにコロンを使用する必要があります。

9
Jenny D