系統環境rhel6.0,iptables和selinux關閉狀態
desktop52.example.com 192.168.0.52
desktop97.example.com 192.168.0.97
兩臺主機的時間同步
安裝軟件
yum install gcc gcc-c++ libgpg-error libgpg-error-devel libgcrypt libgcrypt-devel -y
tar zxf libtasn1-2.1.tar.gz
cd libtasn1-2.1
./configure && make && make install
tar zxf sqlite-2.8.17.tar.gz
cd sqlite-2.8.17
./configure && make && make install
tar zxf librsync-0.9.7.tar.gz
cd librsync-0.9.7
./configure && make && make install
tar jxf gnutls-2.6.6.tar.bz2
cd gnutls-2.6.6
./configure && make && make install
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig /usr/local/lib
tar zxf inotify-tools-3.13.tar.gz
inotify-tools-3.13
./configure && make && make install
yum install byacc flex -y #編譯不會報錯,可是安裝時候會報錯
tar zxf csync2-1.34.tar.gz
cd csync2-1.34
./configure && make && make install
相互同步的主機之間是經過ssl安全鏈接的
make cert
csync2 -k /etc/csync2.key #製做密鑰文件
2.配置csync2
yum install xinetd -y
vim /etc/xinetd.d/csync2
service csync2
{
disable = no
protocol = tcp
flags = REUSE
socket_type = stream
wait = no
user = root
group = root
server = /usr/local/sbin/csync2
server_args = -i
}
man csync2
-i: Run in inetd server mode #運行在端口檢測程序模式
vim /etc/services #添加下面一行
csync2 30865/tcp
vim /etc/csync2.cfg
group mygroup
{
host desktop52.example.com desktop97.example.com; (每臺主機完整的主機名)
#host host4@host4-eth2;
key /etc/csync2.key;指定key文件的路徑
include /csync2;須要同步的目錄
#include %homedir%/bob;
#exclude %homedir%/bob/temp;
#exclude *~ .*; 排除以 「.」開頭的文件
#
#
action
#{
# pattern /etc/apache/httpd.conf;
# pattern /etc/apache/sites-available/*;
# exec "/usr/sbin/apache2ctl graceful";
#
#logfile "/var/log/csync2_action.log";
#
do-local;
#
}
#
backup-directory /var/csync2; 防錯備份目錄,根據本身的需求設置,每臺主機上都要有
backup-generations 3;
#
#auto younger; 同步以最新的文件爲標準更新
}
#
# prefix homedir
#{
#on host[12]: /export/users;
#on *: /home;
#}
scp /etc/csync2.* 192.168.0.97:/etc/ #將在一臺主機上的配置和密鑰拷貝到另外一臺上
csync2 -vvv -T 測試csync配置是否正確,
/etc/init.d/xinetd start #啓動服務
chkconfig xinetd on
3、檢測
在一臺主機上/csync2目錄下建立、刪除或更改文件
而後執行csyns2 -xv進行同步
查看另一臺主機/csync2目錄下文件是否同步linux