背景:日志数据跨机房备份。从A服务器跨机房备份到B服务器,并添加监控。
1、安装rsync,服务器端客户端都安装,一般服务器自带,需要升级rsync服务,可以使用源码包进行安装。
wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz
tar -xzf rsync-3.1.2.tar.gz
cd rsync-3.1.2
./configure --prefix=/usr/local/rsyncd
make && make install
2、服务端配置
/etc/rsyncd/rsyncd.conf rsync服务器端配置文件(具体配置参数根据实际情况而定)
uid = rsync
gid = rsync
log file = /var/log/rsync/rsyncd.log
secrets file = /etc/rsyncd.secrets
port = 873
read only = no
list = no
hosts allow =*
hosts deny =*
[hqz]
path=/home/heqinz
ignore errors
read only=false
list=true
auth users=hqz
/etc/rsyncd.secrets #服务端密码文件
hqz:1234567 #用户名:密码,多个用户名和密码可以多行
密码文件权限必须为600,chmod 600 /etc/rsyncd.secrets
启动服务端:
/usr/local/rsync/bin/rsync –daemon –config=/etc/rsyncd.conf
客户端配置:
客户端没有必须的配置,此处配置了一个密码文件,在连接时,就不用输入密码。
/etc/rsyncd/rsyncd. pass并修改为 600 权限,密码与服务端密码保持一致。
1234567
同步:此处为:从服务端拉文件到客户端,写定时任务每天晚上自动同步
rsync -avzP hqz@10.17.4.209::hqz /home/heqinz--password-file=/etc/passwd.txt
监控:
1、定时任务:每天在服务端创建以日期命名文件,
touch /backup/heqinz/`date +%Y%m%d`
2、在客户端利用脚本探测前一天在服务端的文件是否同步过来。
bfile=`date -d 'yesterday' '+%Y%m%d'`
find /backup/heqinz -name $bfile | wc -l