割とプライベートな内容が主の DS 718 とライベートな内容がほとんどない DS 720 間で共有フォルダの部分的な rsync をします。パスワードを入力せずにタイムスケジュールで実行したいと思います。
クライアント:DS 718(192.168.0.18) — /volume/web/jstree/data/netTV
↑
サーバー:DS 720(192.168.0.20) — /volume/web/jstree/data/netTV
サーバーの /volume/web/jstree/data/netTV のデータをクライアントの /volume/web/jstree/data/netTV に同期します。
鍵ペアの作成:クライアント DS 718 で
クライアント NAS 718 に ssh ログインします。
ssh heno@192.168.0.18 -p 11123
ssh-keygenコマンドで鍵ペアを作成します。
ssh-keygen -t ed25519 -N '' -C netTV_backup -f ~/.ssh/netTV_backup
パーミッションを設定します。
chmod 700 ~/.ssh
chmod 600 ~/.ssh/netTV_backup.pub
公開鍵をサーバー DS 720 に転送します。
scp -P 11123 ~/.ssh/netTV_backup.pub moheno@192.168.0.20:~/.ssh
鍵の設定:サーバー DS 720 で
サーバー側に ssh ログインします。
ssh moheno@192.168.0.20 -p 11123
公開鍵情報をauthorized_keys ファイルに統合します。
cd /home/user/.ssh
cat netTV_backup.pub >> authorized_keys
パーミッションを変更します。
chmod 700 /home/user/.ssh
chmod 600 /home/user/.ssh/authorized_keys
rm -f netTV_backup.pub
サーバー DS 720 の操作はここまでです。
なお、サーバー側の rsync サービスにチェックを入れておく必要があります。
クライアントから rsync
クライアントに ssh ログインします。
ssh heno@192.168.0.18 -p 11123
rsync します。
rsync -avzu -e 'ssh -p 11123 -i ~/.ssh/netTV_backup' moheno@192.168.0.20:/volume1/web/jstree/data/netTV /volume1/web/jstree/data
-e がないとエラーになります。
以下のようなシェルスクリプトを作成して、それをタイムスケジュールで動かします。
#!/bin/sh
rsync -avzu -e 'ssh -p 11123 -i ~/.ssh/netTV_backup' moheno@192.168.0.20:/volume1/web/jstree/data/netTV /volume1/web/jstree/data
rsync を有効にするのはサーバー側
クライアント側では rsync を有効にする必要はありません。
有効にするのはサーバーの方です。