*Rsync Server [#dc367709]

RIGHT:更新日&lastmod();  

**SSH暗号化でバックアップ [#i44df31f]

[[ここ>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]]


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS