Selinux \ lsync全网备份方案

Sersync


1.环境准备:
  • NFS节点:(172.16.1.31)
##下载NFS
[root@nfs /data]# yum install -y nfs-utils

##修改配置文件
[root@nfs /]# vim /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

##创建存放数据的目录并授权
[root@nfs /]# mkdir data
[root@nfs /]# groupadd -g666 www
[root@nfs /]# useradd -u666 -g666 www
[root@nfs /]# id www
uid=666(www) gid=666(www) groups=666(www)
[root@nfs /]# chown -R www.www /data/

##启动nfs
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl enable nfs



  • backup节点:(172.16.1.41)
##下载raync
[root@backup ~]# yum install -y rsync

#修改配置文件
[root@backup ~]# vim /etc/rsyncd.conf 
uid = www
gid = www
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600   
ignore errors   
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]                        
path = /backup

##创建用户、创建目录、并给用户授权
[root@backup ~]# groupadd -g666 www
[root@backup ~]# useradd -u666 -g666 www
[root@backup ~]# id www
uid=666(www) gid=666(www) groups=666(www)
[root@backup ~]# mkdir /backup
[root@backup ~]# chown -R www.www /backup
[root@backup ~]# ll -d /backup
drwxr-xr-x 2 www www 6 Oct 20 22:40 /backup

#创建密码文件并授权600
[root@backup ~]# echo 'rsync_backup:1' >/etc/rsync.passwd
[root@backup ~]# cat /etc/rsync.passwd
rsync_backup:1
[root@backup ~]# chmod 600 /etc/rsync.passwd


[root@backup ~]# systemctl start rsyncd
[root@backup ~]# systemctl enable rsyncd

  • web节点:(172.16.1.7)
##下载阿帕奇和php(为了创建静态文件演示sersync)
[root@web ~]# yum install -y httpd.x86_64 php

##上传网站代码
[root@web ~]# cd /var/www/html/
[root@web /var/www/html]# ll
total 0
[root@web /var/www/html]# rz -E
rz waiting to receive.
[root@web /var/www/html]# unzip kaoshi.zip 

##修改httpd配置文件
[root@web /var/www/html]# vim /etc/httpd/conf/httpd.conf 
User www
Group www

##创建用户、并给用户授权
[root@backup ~]# groupadd -g666 www
[root@backup ~]# useradd -u666 -g666 www
[root@backup ~]# id www
uid=666(www) gid=666(www) groups=666(www)
[root@web /var/www/html]# chown -R www.www /var/www/html
[root@web /var/www/html]# ls -ld /var/www/html
drwxr-xr-x 2 www www 77 Oct 20 23:09 /var/www/html

##启动
[root@web /var/www/html]# systemctl start httpd.service 
[root@web /var/www/html]# systemctl enable httpd.service

##在浏览器输入IP地址,即可进入网站,上传一个文件,就可以看见在/var/www/html目录创建了一个目录,然后将nfs远端服务器配置的目录挂载到这个目录,操作如下:

[root@web /var/www/html]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24


[root@web ~]# mount -t nfs 172.16.1.31:/data /var/www/html/
2020-10-20/      bg.jpg           index.html       info.php         upload_file.php  
[root@web ~]# mount -t nfs 172.16.1.31:/data /var/www/html/2020-10-20
[root@web ~]# 
[root@web ~]# 
[root@web ~]# 
[root@web ~]# df -h
Filesystem         Size  Used Avail Use% Mounted on
.......等等等..........
172.16.1.31:/data   17G  1.9G   16G  11% /var/www/html/2020-10-20

##测试一下,在网站上传两个文件,结果如下
[root@web ~]# ls /var/www/html/2020-10-20/
2_fang.txt  2_fang - 副本.txt

[root@nfs ~]# ls /data
2_fang.txt  2_fang - 副本.txt

###成功,准备环境完成下面开始进行Sersync

2.进行sersync安装
##在backup节点
[root@backup ~]# vim /etc/rsyncd.conf
......等等等.......(在文件后追加如下:)
[data]
path = /data
            
[root@backup ~]# mkdir /data
[root@backup ~]# id www
uid=666(www) gid=666(www) groups=666(www)
[root@backup ~]# chown -R www.www /data
[root@backup ~]# ls -ld /data/
drwxr-xr-x 2 www www 6 Oct 20 23:44 /data/

##在nfs节点
[root@nfs ~]# mkdir /usr/local/sersync
[root@nfs ~]# cd /usr/local/sersync
[root@nfs /usr/local/sersync]# rz -E
[root@nfs /usr/local/sersync]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz 
[root@nfs /usr/local/sersync]# cd GNU-Linux-x86/
[root@nfs /usr/local/sersync/GNU-Linux-x86]# vim confxml.xml
[root@nfs /usr/local/sersync/GNU-Linux-x86]# vim confxml.xml
  5     <fileSystem xfs="true"/>
  6     <filter start="true">
 15         <createFile start="true"/>
 19         <attrib start="true"/>
 20         <modify start="true"/>
 24         <localpath watch="/data">
 25             <remote ip="172.16.1.41" name="data"/>
 30             <commonParams params="-avz"/>
 31             <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.pass"/>
 33             <timeout start="true" time="100"/><!-- timeout=100 -->

##设置密码文件并授权
[root@nfs /usr/local/sersync/GNU-Linux-x86]# echo '1' >/etc/rsync.pass
[root@nfs /usr/local/sersync/GNU-Linux-x86]# chmod 600 /etc/rsync.pass

[root@nfs ~]# /usr/local/sersync/GNU-Linux-x86/sersync2 -h
set the system param
execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches
execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events
parse the command param
_______________________________________________________
参数-d:启用守护进程模式
参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
c参数-n: 指定开启守护线程的数量,默认为10个
参数-o:指定配置文件,默认使用confxml.xml文件
参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块
参数-m:单独启用其他模块,使用 -m socket 开启socket模块
参数-m:单独启用其他模块,使用 -m http 开启http模块
不加-m参数,则默认执行同步程序
________________________________________________________________
##启动sersync
[root@nfs ~]# /usr/local/sersync/GNU-Linux-x86/sersync2 -dro /usr/local/sersync/GNU-Linux-x86/confxml.xml 

##获取启动后执行的命令 【手动测试一下,确保实时同步是没有问题】[root@nfs ~]# cd /data && rsync -avz -R --delete ./  --timeout=100 rsync_backup@172.16.1.41::data --password-file=/etc/rsync.pass

3.将Sersync替换为lsrnc
##下载安装lsync软件
[root@nfs ~]# yum install -y lsyncd.x86_64 

##修改配置文件
[root@nfs ~]# vim /etc/lsyncd.conf 
settings {
 logfile = "/var/log/lsyncd/lsyncd.log",
 statusFile = "/var/log/lsyncd/lsyncd.status",
 inotifyMode = "CloseWrite",
 maxProcesses = 8,
}

sync {
 default.rsync,
 source = "/data",
 target = "rsync_backup@172.16.1.41::data",
 delete= true,
 exclude = { ".*" },
 delay = 1,

rsync = {
    binary = "/usr/bin/rsync",
    archive = true,
    compress = true,
    verbose = true,
    password_file = "/etc/rsync.pass",
    _extra = {"--bwlimit=200"}
    }
}


#创建密码文件并授权600
[root@backup ~]# echo '1' >/etc/rsync.passwd
[root@backup ~]# cat /etc/rsync.passwd
1
[root@backup ~]# chmod 600 /etc/rsync.passwd


##启动lrsync
[root@nfs ~]# systemctl start lsyncd
[root@nfs ~]# systemctl enable lsrsyncd
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

登高·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值