1949啦网--小小 痛苦,是因为能力和欲望不匹配造成的

linux下使用rsync实现文件远程同步备份

之前介绍了linux下使用rsync实现本机文件增量备份,考滤到数据安全,还是将文件备份到远程主机上更放心,于是就有了这篇文章。

服务端(源文件服务器):

查看系统是否安装rsync:

rpm -qa|grep rsync 

删除系统自带rsync:

rpm -e rsync-3.0.6-9.el6.x86_64 

安装程序:

wget https://rsync.samba.org/ftp/rsync/src/rsync-3.1.4.tar.gz tar zvxf rsync-3.1.4.tar.gz cd rsync-3.1.4 ./configure --prefix=/usr make && make install 

非必须步骤,启动时假如报libiconv.so.2错,可执行下列命令建立软链接。

ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2 

编辑配置主配置文件:
vi /etc/rsyncd.conf

uid = nobody  gid = nobody   use chroot = yes max connections = 10 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log port = 873 read only = yes auth users = backup secrets file = /etc/rsyncd.pwd  [web1] path = /home/www1/ hosts allow = 192.168.0.101/24 [web2] path = /home/www2/ hosts allow = 192.168.0.101/24 [web3] path = /home/www3/ hosts allow = 192.168.0.101/24 

uid和gid 指明了运行身份;
chroot 表示连接后自动切换目录;
read only=yes 禁止客户端向本机的服务器端上传;
host allow和deny 允许和限制连接地址;
auth user 认证用户名;
secrets file = /etc/rsyncd.pwd 表示认证用户名时到这里读取密码。

接下来编辑密码文件:
vi /etc/rsyncd.pwd

backup:123456 

设置文件权限600:(权限不对会登陆不上)

chmod 600 /etc/rsyncd.pwd 

设置rsync开机启动:

echo "rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.d/rc.local 

注意: iptables必须允许 rsync 的 873 端口被连接。

启动rsync:

rsync --daemon --config=/etc/rsyncd.conf 

客户端

现在到192.168.0.101的客户端上,命令格式如下:

rsync [-参数] 源地址路径 目标地址路径 

例如将100上的 /home/www1 目录下的文件及文件夹同步到本机的 /home/www1 目录中,则创建执行脚本:
vi /root/rsync.sh

rsync -avL --progress --delete --exclude="*.ini" backup@192.168.0.100::web1 /home/www1/ --password-file=/root/rsync.pwd 

这个命令会把rsync主服务器(192.168.0.100)[web1]模块设定的备份目录下所有目录及文件同步到本地 /home/www1 目录下。
a ––archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等价于 -rlptgoD (注意不包括 -H)
v --verbose 详细模式输出
L --copy-links 像对待常规文件一样处理软链接
--progress 是指显示出详细的进度情况
--delete 是指删除目标目录比源目录多余的文件。即:如果服务器端删除了这一文件,那么客户端也相应把文件删除
--execlude 排除不需要同步的文件后缀名

参数详解:

自动同步:
1、创建客户端的密码文件:
vi /root/rsync.pwd

123456 

注意:客户端的密码脚本不带用户名。

设置密码文件权限600:(权限不对会登陆不上)

chmod 600 /root/rsync.pwd 

2、将客户端脚本加入计划任务,每5分钟同步一次:

echo "*/5 * * * * root /root/rsync.sh" >> /etc/crontab 

现在可以直接运行 /root/rsync.sh 观看效果。
至此 rsync配置完成。

原文链接:https://www.qiquanji.com/post/5197.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

作者:xialibing 分类:高级教程 浏览: