rsyncを利用したデータ同期■rsyncを利用したデータ同期
 シェルアカウント無しでサーバのコンテンツを同期更新するための手段の一つ。サーバ側はchrootで運用でき任意のディレクトリをトラバースされることもなくftpなどでアカウント発行して運用を行うよりも安心。rsyncはssh経由で暗号化も可能だが、ここでは割愛。

1)サーバ側の設定
rsyncをデーモンとして起動するための設定ファイルを作成する。

  1. # vi /etc/rsyncd.conf
  2.  
  3. uid           = root
  4. gid           = wheel
  5. use chroot    = yes
  6. max connections = 4
  7. log file      = /var/log/rsyncd.log
  8. pid file      = /var/run/rsyncd.pid
  9. dont compress = *.gz *.tgz *.zip *.pdf *.sit *.sitx *.lzh *.bz2 *.jpg *.gif *.png
  10.  
  11. [hostdata01]
  12.         comment      = hostdata 01
  13.         hosts allow   = xxx.xxx.xxx.xxx/32
  14.         hosts deny    = *
  15.         path         = /var/www/host01/
  16.         auth users   = user01
  17.         secrets file = /etc/rsyncd.secrets
  18.         read only    = no
  19.  
  20. [hostdata02]
  21.         comment      = hostdata 02
  22.         hosts allow   = xxx.xxx.xxx.xxx/32
  23.         hosts deny    = *
  24.         path         = /var/www/host02/
  25.         auth users   = user02
  26.         secrets file = /etc/rsyncd.secrets
  27.         read only    = no

認証のためのパスワードファイルを作成する。

  1. # vi /etc/rsyncd.secrets
  2.  
  3. user01:password01
  4. user02:password02

パーミッションを変更する

  1. # chmod 0600 /etc/rsyncd.secrets

デーモンモードで起動する(できるだけportは変更しておく)

  1. # rsync --daemon --config=/etc/rsyncd.conf --port=10873

iptablesの設定を変更する

  1. # vi /etc/sysconfig/iptables
  2.  
  3. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10873 -j ACCEPT

iptablesを再起動する

  1. # service iptables restart

2)クライアント側の設定

  1. # rsync --port=10873 -avz ./hostcontens/ rsync://user01@serveraddress/hostdata01/

これでhostcontents以下の内容がサーバの/var/www/host02/に同期される。
差分更新になるので一度目は時間がかかるが2回目以降は短時間で完了する。


関連性の高い記事 by Simple Tags :

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...
Trackback

no comment untill now

Sorry, comments closed.