sync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。
现在我们有2台服务,这里使用的都是百度开放云BCC的。
服务器A : 192.168.0.5
服务器B :192.168.0.8
我们要用服务器B 做备份,隔一段时间从服务器A 拉取文件回来。
具体步骤:
1、AB2台服务器安装rsync软件
我们这里就直接yum安装了,百度开放云bcc默认是安装好的。
这里就不继续说了。
服务器A操作
2、在服务器A上编辑文件:
vi /etc/rsyslog.d/jiloc.com.conf
[www_jiloc_com] path = /data/mysqldump.backup readonly = ture list = yes ignore errors auth user = rsync secrets file = /etc/rsyslog.d/rsyncd.secrets
如果是非只读的话,可以把readonly = false这行删除。
我们这里设定了同步的用户 rsync,同步的 密码文件使用 ?/etc/rsyslog.d/rsyncd.secrets
3、服务器A输入命令行:
echo "rsync:Password" > /etc/rsyslog.d/rsyncd.secrets
rsync 是用户,Password 是密码
4、服务器A执行命令:
/usr/bin/rsync --config=/etc/rsyslog.d/jiloc.com.conf --daemon
这里需要说明的是,bcc的配置文件里默认引用了 /etc/rsyslog.d 里的 所有.conf结尾的文件
服务器B操作
6、服务器B添加密码文件:
echo "rsync:Password" > /etc/rsyslog.d/rsyncd.secrets
7、服务器B执行命令:
/usr/bin/rsync --daemon --config=/etc/rsyslog.conf
8、同步文件:
/usr/bin/rsync -vzrtopg --progress --copy-links rsync@192.168.0.5::www_jiloc_com /data/mysqldump.backup/
这里的 www_jiloc_com 跟我们之前定义的同步名对应。
如果需要定时执行的话,大家可以添加crontab命令去执行。
通过SSH的方式执行同步:
rsync -avH --progress -e ' ssh -p 端口' root@IP:/data/wwwroot ./