*Rsync Server [#dc367709] RIGHT:更新日&lastmod(); **SSH暗号化でバックアップ [#i44df31f] [[ここ>>turboLinux_White Box Enterprise Linux_Fedora Core_Red Hat Memo/XenServer監視#fromSSH]]でのようのサーバとクライアントにキーを設定する。 [[ここ>turboLinux_White Box Enterprise Linux_Fedora Core_Red Hat Memo/XenServer監視#fromSSH]]でのようのサーバとクライアントにキーを設定する。 その後はサーバではデーモン起動はしないでクライアントから通常ように転送を行う $ /usr/bin/rsync -avz -e ssh --log-file=/home/okada/script/backup1.log \ /home/okada/rsync_test 49.212.182.196:~/backup1/test/ **サーバ側の設定 [#sf5ce7d3] サーバマシン側で (rsyncというユーザを作成 Linux上のパスワードの設定は不要)~ rsyncの権限でサーバを起動~ rsyncd.conf ファイルを作成~ rsyncというユーザのカレントディレクトリに rsyncd.confを作成 log file=/home/rsync/rsyncd.log uid=root gid=root [rsync] <=module名 path=/home/rsync/test <=moduleの実際のパス。この場所がクライアント側の/rsyncになる comment=rsync area lock file=/home/rsync/rsyncd.lock read only=no use chroot=no auth users=rsync, okada secrets file=/home/rsync/rsync/rsyncd.secrets strict modes=true list=true [rsync2] path=/home/rsync/test2 comment=rsync2 area lock file=/home/rsync/rsyncd.lock read only=no use chroot=no auth users=rsync, okada <=使用許可ユーザ secrets file=/home/rsync/rsync/rsyncd.secrets strict modes=true list=true 上の例はmoduleが2つ rsync/rsyncd.secretsファイルを作成 rsyncサーバ用のユーザ名とパスワードを設定する。 rsync:******* okada:******** (1) 必ず以下が必要 $ chmod 600 rsync/rsyncd.secrets ***サーバ起動 [#gba17b65] $ su # rsync --daemon --config=/home/rsync/rsyncd.conf --port=873 起動が一般ユーザで可能かは不明(rootだけのようだ) rsyncd.confのuid,gidを一般ユーザにすると、書き込まれたファイルはその権限が与えらえれる **クライアント側 [#v1a869da] okadaで利用のためokadaのホームディレクトリで rsync/rsyncd.passファイルを作成 ****** サーバ側のrsync/rsyncd.secretsのokadaの(1)のパスワード部のみ記入 rsyncd.passのオーナもrootに変更し、権限もrootだけにする # chown root.root rsyncd.secrets # chmod 600 rsyncd.secrets ''転送'' $ /usr/bin/rsync --port=873 -a --password-file=rsync/rsyncd.pass ./rsync_test rsync://okada@182.236.42.22/rsync2/ ***php & shellで自動転送 [#s7d44358] エラーを判断し、メールも検討 ''rsync.sh'' #! /bin/bash filename=fname`date +%Y%m%d%H%M` if `/usr/bin/rsync --port=873 -a --password-\ file=/home/okada/rsync/rsyncd.pass /home/okada/rsync_test\ rsync://okada@182.236.42.22/nishii2/$filename/ > /dev/null 2>&1` ; then echo 0 else echo 1 fi rsync.shの実行結果で判断する 0は成功 1は失敗 以下でもOK `/usr/bin/rsync --port=873 -a --password-\ file=/home/okada/rsync/rsyncd.pass /home/okada/rsync_test\ 182.236.42.22:nishii2/$filename/ ''rsync.php'' <?php $cmd = "/home/okada/script/rsync.sh"; $ret = exec($cmd); // echo "$ret \n"; if($ret == 0){ echo "メール送信 \n"; }else{ echo "エラーメール送信 \n"; } // exec("echo $?"); ?> **クライアントをQNAPに設定 [#g34a2ae5] &ref("./qnap_rsync1.png"); &ref("./qnap_rsync2.png"); &ref("./qnap_rsync3.png"); &ref("./qnap_rsync4.png"); &ref("./qnap_rsync5.png"); -------------------------------------------------------------------------------- RIGHT:[[元ページ:http://mz80.ism21.net/hp/linux/rsync.htm]]