Linux Memo/lsyncd
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
*lsyncd [#q00e8c1e]
RIGHT:更新日&lastmod();
lsyncdを使用してリアルタイムにディレクトリ単位で別ホスト...
このシステムにはファイル内容が変更された場合それを検出す...
''ホスト設定''
マスタ(10.3.2.3 /home/student/lsyncd_tmp) セカンダリ(10.3...
マスタのlsyncd_tmpが変更されたら、セカンダリのlsyncd_tmp2...
以下のtoolが必要なのでインストール
# apt-get install libxml2-devel
**マスタの設定 [#xad2882a]
***inotify-toolsのインストール [#l2bbc8e8]
以下からinotify-toolsをDownload
http://inotify-tools.sourceforge.net/
$ tar zvxf inotify-tools-3.13.tar.gz
$ ./configure --prefix=/usr
$ make
$ su
# make install
以下のようにリンクを作成
# cd /usr/include/sys
# ln -s ../inotifytools/inotify.h
# ln -s ../inotifytools/inotify-nosys.h
# ln -s ../inotifytools/inotifytools.h
***inotify-toolsのインストール [#i8c35037]
以下からlsyncdをDownload
http://en.sourceforge.jp/projects/freshmeat_lsycnd/resour...
$ tar tzvf lsyncd-1.26.tar.gz
$ cd lsyncd-1.26
$ ./configure
checking for unistd.h... yes
checking sys/inotify.h usability... yes
checking sys/inotify.h presence... yes
checking for sys/inotify.h... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
$ make
$ make all-am
make[1]: ディレクトリ `/usr/local/src/lsyncd-1.26' に入...
gcc -DHAVE_CONFIG_H -DXML_CONFIG -I. -Wall `xml2-config ...
lsyncd.o -MD -MP -MF .deps/lsyncd.Tpo -c -o lsyncd.o lsy...
lsyncd.c: 関数 `remove_dirwatch' 内:
lsyncd.c:1000: 警告: `dw' might be used uninitialized in...
mv -f .deps/lsyncd.Tpo .deps/lsyncd.Po
gcc -Wall `xml2-config --cflags` -g -O2 `xml2-config --l...
make[1]: ディレクトリ `/usr/local/src/lsyncd-1.26' から...
$ su
# make install
以下の起動ファイルを作成
''init.d/lsyncd''
#!/bin/bash
#
# chkconfig: 345 56 50
# description: start and stop lsyncd
#
#
# Source function library.
. /etc/rc.d/init.d/functions
PATH=$PATH:/usr/local/bin
# Source networking configuration.
[ -r /etc/sysconfig/lsyncd ] && . /etc/sysconfig/lsyncd
option="$SHORT_LOG $IGNORE_START_ERRORS $DEBUG"
RETVAL=0
prog="lsyncd"
start(){
echo -n $"Starting $prog: "
daemon $prog $option
RETVAL=$?
echo
touch /var/lock/subsys/lsyncd
return $RETVAL
}
stop(){
echo -n $"Stopping $prog: "
killproc $prog
RETVAL=$?
echo
rm -f /var/lock/subsys/lsyncd
return $RETVAL
}
reload(){
echo -n $"Reloading configuration: "
killproc $prog -HUP
RETVAL=$?
echo
return $RETVAL
}
restart(){
stop
start
}
condrestart(){
[ -e /var/lock/subsys/lsyncd ] && restart
return 0
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
;;
restart)
restart
;;
reload)
reload
;;
condrestart)
condrestart
;;
*)
echo $"Usage: $0
{start|stop|status|restart|condrestart|reload}"
RETVAL=1
esac
exit $RETVAL
マスタのコピー元とセカンダリのコピー先およびrsyncのオプシ...
target pathのモジュール名(test)はセカンダリのrsyncd.conf...
また、-ltdは-lt%rとあるページもあった(%r は lsyncd 起動時...
&color(red){-avzがないとdeleteがうまく動作しなかった};
''/etc/lsyncd.conf.xml''を作成
<settings>
<callopts>
<option text="-ltd"/>
<option text="--delete"/>
<option text="-avz"/>
<source/>
<destination/>
</callopts>
</settings>
<directory>
<source path="/home/student/lsyncd_tmp"/>
<target path="10.3.2.4::test/"/>
</directory>
</lsyncd>
**セカンダリの指定 [#b5396ac7]
rsyncサーバとしてコピー先ディレクトリ、および書き込み許可...
''/etc/rsyncd.conf''を作成
uid = student
gid = student
[test]
path = /home/student/lsyncd_tmp2
hosts allow = 10.0.0.0/8
read only = false
''起動''
# /usr/bin/rsync --daemon --config=/etc/rsyncd.conf
rc.loaclにでも書いておく
***その他 [#td0beaed]
実際マスタのディレクトリに変化が出ると以下のコマンドがマ...
/usr/bin/rsync -ltd --delete -avz /home/student/lsyncd_t...
''/var/log/lsyncd''に以下の残る
sent 205 bytes received 16 bytes 442.00 bytes/sec
total size is 15 speedup is 0.07
Mon Aug 31 11:45:33 2009: Rsync of [/home/student/lsyncd...
Mon Aug 31 11:45:33 2009: Processing through tosync stack.
Mon Aug 31 11:45:33 2009: being done with tosync stack
Mon Aug 31 11:45:33 2009: inotfy event: DELETE:.#c
Mon Aug 31 11:45:33 2009: event DELETE:.#c triggered.
Mon Aug 31 11:45:33 2009: BUILDPATH(0, (null), (null))...
Mon Aug 31 11:45:33 2009: BUILDPATH(0, (null), 10.3.2....
Mon Aug 31 11:45:33 2009: rsyncing /home/student/lsyncd_...
building file list ... done
''logのlogrotateの設定''
/etc/logrotate.d/lsyncd
/var/log/lsyncd{
weekly
rotate 5
copytruncate
compress
notifempty
missingok
}
&color(red){注)lsyncdが起動されるとマスタのしてしたディレ...
セカンダリに一時的に
/lsyncd_tmp2/lsyncd_tmp
というディレクトリが出来る
終了行:
*lsyncd [#q00e8c1e]
RIGHT:更新日&lastmod();
lsyncdを使用してリアルタイムにディレクトリ単位で別ホスト...
このシステムにはファイル内容が変更された場合それを検出す...
''ホスト設定''
マスタ(10.3.2.3 /home/student/lsyncd_tmp) セカンダリ(10.3...
マスタのlsyncd_tmpが変更されたら、セカンダリのlsyncd_tmp2...
以下のtoolが必要なのでインストール
# apt-get install libxml2-devel
**マスタの設定 [#xad2882a]
***inotify-toolsのインストール [#l2bbc8e8]
以下からinotify-toolsをDownload
http://inotify-tools.sourceforge.net/
$ tar zvxf inotify-tools-3.13.tar.gz
$ ./configure --prefix=/usr
$ make
$ su
# make install
以下のようにリンクを作成
# cd /usr/include/sys
# ln -s ../inotifytools/inotify.h
# ln -s ../inotifytools/inotify-nosys.h
# ln -s ../inotifytools/inotifytools.h
***inotify-toolsのインストール [#i8c35037]
以下からlsyncdをDownload
http://en.sourceforge.jp/projects/freshmeat_lsycnd/resour...
$ tar tzvf lsyncd-1.26.tar.gz
$ cd lsyncd-1.26
$ ./configure
checking for unistd.h... yes
checking sys/inotify.h usability... yes
checking sys/inotify.h presence... yes
checking for sys/inotify.h... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
$ make
$ make all-am
make[1]: ディレクトリ `/usr/local/src/lsyncd-1.26' に入...
gcc -DHAVE_CONFIG_H -DXML_CONFIG -I. -Wall `xml2-config ...
lsyncd.o -MD -MP -MF .deps/lsyncd.Tpo -c -o lsyncd.o lsy...
lsyncd.c: 関数 `remove_dirwatch' 内:
lsyncd.c:1000: 警告: `dw' might be used uninitialized in...
mv -f .deps/lsyncd.Tpo .deps/lsyncd.Po
gcc -Wall `xml2-config --cflags` -g -O2 `xml2-config --l...
make[1]: ディレクトリ `/usr/local/src/lsyncd-1.26' から...
$ su
# make install
以下の起動ファイルを作成
''init.d/lsyncd''
#!/bin/bash
#
# chkconfig: 345 56 50
# description: start and stop lsyncd
#
#
# Source function library.
. /etc/rc.d/init.d/functions
PATH=$PATH:/usr/local/bin
# Source networking configuration.
[ -r /etc/sysconfig/lsyncd ] && . /etc/sysconfig/lsyncd
option="$SHORT_LOG $IGNORE_START_ERRORS $DEBUG"
RETVAL=0
prog="lsyncd"
start(){
echo -n $"Starting $prog: "
daemon $prog $option
RETVAL=$?
echo
touch /var/lock/subsys/lsyncd
return $RETVAL
}
stop(){
echo -n $"Stopping $prog: "
killproc $prog
RETVAL=$?
echo
rm -f /var/lock/subsys/lsyncd
return $RETVAL
}
reload(){
echo -n $"Reloading configuration: "
killproc $prog -HUP
RETVAL=$?
echo
return $RETVAL
}
restart(){
stop
start
}
condrestart(){
[ -e /var/lock/subsys/lsyncd ] && restart
return 0
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
;;
restart)
restart
;;
reload)
reload
;;
condrestart)
condrestart
;;
*)
echo $"Usage: $0
{start|stop|status|restart|condrestart|reload}"
RETVAL=1
esac
exit $RETVAL
マスタのコピー元とセカンダリのコピー先およびrsyncのオプシ...
target pathのモジュール名(test)はセカンダリのrsyncd.conf...
また、-ltdは-lt%rとあるページもあった(%r は lsyncd 起動時...
&color(red){-avzがないとdeleteがうまく動作しなかった};
''/etc/lsyncd.conf.xml''を作成
<settings>
<callopts>
<option text="-ltd"/>
<option text="--delete"/>
<option text="-avz"/>
<source/>
<destination/>
</callopts>
</settings>
<directory>
<source path="/home/student/lsyncd_tmp"/>
<target path="10.3.2.4::test/"/>
</directory>
</lsyncd>
**セカンダリの指定 [#b5396ac7]
rsyncサーバとしてコピー先ディレクトリ、および書き込み許可...
''/etc/rsyncd.conf''を作成
uid = student
gid = student
[test]
path = /home/student/lsyncd_tmp2
hosts allow = 10.0.0.0/8
read only = false
''起動''
# /usr/bin/rsync --daemon --config=/etc/rsyncd.conf
rc.loaclにでも書いておく
***その他 [#td0beaed]
実際マスタのディレクトリに変化が出ると以下のコマンドがマ...
/usr/bin/rsync -ltd --delete -avz /home/student/lsyncd_t...
''/var/log/lsyncd''に以下の残る
sent 205 bytes received 16 bytes 442.00 bytes/sec
total size is 15 speedup is 0.07
Mon Aug 31 11:45:33 2009: Rsync of [/home/student/lsyncd...
Mon Aug 31 11:45:33 2009: Processing through tosync stack.
Mon Aug 31 11:45:33 2009: being done with tosync stack
Mon Aug 31 11:45:33 2009: inotfy event: DELETE:.#c
Mon Aug 31 11:45:33 2009: event DELETE:.#c triggered.
Mon Aug 31 11:45:33 2009: BUILDPATH(0, (null), (null))...
Mon Aug 31 11:45:33 2009: BUILDPATH(0, (null), 10.3.2....
Mon Aug 31 11:45:33 2009: rsyncing /home/student/lsyncd_...
building file list ... done
''logのlogrotateの設定''
/etc/logrotate.d/lsyncd
/var/log/lsyncd{
weekly
rotate 5
copytruncate
compress
notifempty
missingok
}
&color(red){注)lsyncdが起動されるとマスタのしてしたディレ...
セカンダリに一時的に
/lsyncd_tmp2/lsyncd_tmp
というディレクトリが出来る
ページ名: