配置rsync实时备份Linux文件,rsync实时备份linux最简单的故障容灾就是
配置rsync实时备份Linux文件,rsync实时备份linux最简单的故障容灾就是
即使是Linux,运行关键应用也应该做好故障容灾。最简单的故障容灾就是备份系统。然而如果是文件服务器,保持主服务器和备服务器的文件一致性就变得非常重要。使用手动复制来做这项工作肯定是不行的,scp最然能实现,但是未免太浪费带宽了。毕竟有修改的文件还是少数。rsync远程同步软件,很好的帮我们解决了文件一致性和带宽最优化利用的矛盾。文档面向CentOS 6.3 x64版本。
rsync是典型的C/S架构的软件套件。rsync在客户端用来从服务器拉取变更列表。rsyncd则在服务端提供文件变更列表,提供文件传输。rsync以模块的形式发布待同步的目录。服务器端rsyncd可以发布多个模块,客户端rsync一次只能拉取一个模块的变更。
安装rsync
rsync服务器端和客户端是一个软件包。执行如下命令安装rsync
yum install rsync xinetd -y
配置rsyncd
须配置/etc/rsyncd.conf、/etc/rsyncd.motd、/etc/rsyncd.secrets三个文件,如果不存在就创建。这里作者给出自己编写的配置文件,并作解释。更多请参阅man手册。
motd file = /etc/rsyncd.motd #欢迎文件,客户端拉取变更列表前,会显示这个文件中的内容。 read only = yes #客户端只读服务器文件,客户端只能从服务器中拉取文件。 hosts allow = 10.186.154.116/32 #那些主机允许连接服务器 hosts deny = 192.168.0.0/24 #那些主机明确拒绝链接。 max connections = 5 #最大连接数 use chroot = yes #是否使用chroot功能。 log file = /var/log/rsyncd.log #日志路径 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock #进程号和锁文件路径 [rsyncuserhome] #一个名为rsyncuserhome的模块。模块名不允许有空格 comment = "rsyncuser's home in 10.186.154.6" #注释 path = /home/rsyncuser/ #模块的列表 uid = rsyncuser #目录所属主和属组 gid = rsyncgroup list = no #是否允许客户端请求列出全部文件列表 auth users = rsync-backup #这个访问这个模块需要的授权用户名 secrets file = /etc/rsyncd.secrets #密码文件路径,密码以明文存储,注意安全。 [WebsitesA] comment = WebsitesA of 10.186.154.6 path = /var/www/WebsitesA uid = root gid = root auth users = rsync-backup secrets file = /etc/rsyncd.secrets
/etc/rsyncd.motd rsync master server
/etc/rsyncd.secrets rsync-backup:PASSW0D
xinetd配置
rsyncd不用一直运行,可以由xinetd监管。配置文件/etc/xinetd.d/rsync内容如下:
# default: off # description: The rsync server is a good addition to an ftp server, as it \ # allows crc checksumming etc. service rsync { disable = no #flags = IPv6 socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon --config=/etc/rsyncd.conf log_on_failure += USERID }
防火墙配置
防火墙需开启端口873,添加下面文本到iptables配置文件。重启IPtables防火墙。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j accept
客户端配置
客户端只需设置定时从服务器端拉取文件即可。作者crontab设置如下:
0,30 * * * * /usr/bin/rsync -aqz --delete --password-file=/root/.rsync-backup.key rsync-backup@filestore.xiyang-liu.com::rsyncuserhome /home/rsyncuserhome/ ##每半个小时同步一次home。 ###创建文件.rsync-backup.key存放明文密钥,设置权限为600 30 1 * * * /usr/bin/rsync -aqz --delete --password-file=/root/.rsync-backup.key rsync-backup@filestore.xiyang-liu.com::WebsitesA /var/www/WebsitesA ##每天同步一次www服务器文件。
结语
本文介绍了如何安装配置rsyncd来在Linux服务器间同步文件。作者为了方便用root用户,实际应用时最好不用。作者使用主机名讲解,并设置了hosts文件,以辅助DNS解析。
评论暂时关闭