linux下使用rsync实现文件远程同步备份
时间:5年前 阅读:6356
之前介绍了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,我们将及时处理。
微信扫码关注
更新实时通知
网友评论