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には何も見つかりません。
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]という名前のディレクトリに同期しています。リモートサーバーを指定するには、仕様のどこかにコロンを使用する必要があります。