- 締切済み
lsync+rsyncミラーリングで除外ディレクトリの設定のしかた
lsync+rsyncミラーリングで除外ディレクトリの設定のしかた centOS 5.5 で自宅サーバを立ち上げLinuxを勉強中です。 そこでlsyncdとrsyncを使い、リアルタイムに「サーバー#1」と「サーバー#2」でミラーリングを行うとしています。 ミラー元の「サーバー#1」に # vi /etc/lsyncd.conf.xml <settings> <!--exclude-from filename="/tmp/exclude"/--> <logfile filename="/var/log/lsyncd.log"/> <binary filename="/usr/bin/rsync"/> <callopts> <option text="-lt%r"/> <option text="--delete"/> <exclude-file/> <source/> <destination/> </callopts> </settings> <directory> <source path="/var/www/AAA/"/> <target path="192.168.1.200::backup"/> </directory> </lsyncd> ミラー先の「サーバー#2」に # vi /etc/rsyncd.conf log file = /var/log/rsyncd.log uid = nobody gid = nobody [backup] path = /home/backup/ hosts allow = 192.168.1.0/24 read only = false と設定し、 ミラー元「サーバー#1」の /var/www/AAA/ はミラー先「サーバー#2」とデータの同期がとれています。 そこで、AAAディレクトリ内のXXXとYYYのディレクトリを除外してミラーリングを行いたいと思いますが、どのように設定したらよろしいでしょうか。 ################################# excludeが良くわかりません。 また「EXCLUDE パターン」http://www.infoscience.co.jp/technical/rsync/rsync.html#exclude に書かれている 除外したいディレクトリはフルパスではなく、基点ディレクトリからのパスを書くとありますが、 /var/www/AAA/XXX はどのように設定すればいいのでしょうか。 ################################# よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- ysnr00
- ベストアンサー率0% (0/0)
あまり細かく試していませんが、以下で動作することを確認しました。 例: サーバー#1側の「/xxx/xxx/aaa/bbb/」内のファイルを除外したい場合 サーバー#2側のrsyncdの設定で、[backup] 内の一番下に exclude = aaa/bbb を 指定して試した所、サーバー#1側の/xxx/xxx/aaa/bbb/*** のファイルが除外されることを 確認しました。 rsync はあまり使用したことがないため、exclude = aaa/bbb の指定あたりは 細かく試して頂いた方がいいかと思います。 lsyncdでも恐らく何らかの設定できるのではないかと思いますが、やり方?が 悪いのか、うまくできませんでした。 上記の設定を64bit環境の lsyncd 1.33 を使用して試した所、サーバー#1の lsyncdが落ちる現象が確認しましたが、最近リリースされた1.34を使用した所、 プロセスが落ちなくなりました。 ※1.33->1.34の修正内容として、fix: logging segfault on 64bit systems と 記載されています。 そのため、64bit環境の場合は、最新のバージョンを使用された方がいいのでは ないかと思います。 lsyncdが上記以外の理由で止まることもあるようですので、lsyncdの設定に <stubborn/>の指定を追加した方がいいかもしれません。