Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux两个服务器数据同步

Linux两个服务器实现数据同步方案

作者:可乐cc呀

这篇文章主要介绍了Linux两个服务器实现数据同步方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Linux两个服务器,数据同步方案实践

一、什么是 rsync 远程同步

rsync:是C/S架构的数据镜像备份工具,可以实现全量备份和快速增量备份支持本地复制或ssh、rsync主机同步。 

rsync:默认端口为 873 

rsync特性:可以在不通主机之间镜像同步整个目录树,支持增量备份、保持链接和权限、时间、属性且传输前自动执行压缩、rsync不需要特殊权限即可安装,centos系统默认安装,支持匿名传输,注意发起端要有对应目录位置的读权限

二、rsync 同步原理

优点: 第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。支持增量备份。

选择性的保持 : 符号链接,硬链接,文件属性,权限 及时间 等。

传输前执行压缩。适用于异地备份 ,镜像服务器等应用 。

安全,使用ssh做为传输端口。 sftp ,ssh

三、相关命令

四、如何使用

4.1 查看是否安装、启动;

 #查看rsync是否安装(系统默认已装)
 sudo rpm -q rsync
 
 #安装
 yum -y install rsync 
 
 #启动rsync服务
systemctl start rsyncd.service
systemctl enable rsyncd.service


#检查是否已经成功启动
netstat -lnp|grep 873

tip: 防火墙需求打开873端口

4.2 服务器配置

4.2.1 编辑配置文件

#编辑 配置文件
sudo vim /etc/rsyncd.conf

编辑之后如下:

# /etc/rsyncd: configuration file for rsync daemon mode

# See rsyncd.conf man page for more options.

# configuration example:

uid = root
gid = root
port = 873
use chroot = no
# read only = no
# list = no
max connections = 4
# pid file = /var/run/rsyncd.pid
exclude = lost+found/
transfer logging = yes
timeout = 900
motd file = /etc/rsyncd/rsyncd.motd
log file = /var/log/rsyncd.log
lock file = /var/run/rsyncd.lock
ignore nonreadable = yes
dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

[simba]
path = /mnt/
comment=simba
ignore errors
read only = no
write only = no
list = no
auth users = root
secrets file = /etc/rsyncd.pass
hosts allow = *

tip:

4.2.2 编辑秘钥文件

用于 客户端与服务器通信秘钥

sudo echo 'root:123456'>/etc/rsyncd.pass   //文件用户名和路径为上面定义,别写错,密码自己定
sudo chmod 600 /etc/rsyncd.pass        //修改权限

4.2.3 指定配置文件

sudo vim /lib/systemd/system/rsyncd.service

修改如下:

在 ExecStart 添加 --config=/etc/rsyncd/rsyncd.conf

[Unit]
Description=fast remote file copy program daemon
ConditionPathExists=/etc/rsyncd/rsyncd.conf
 
[Service]
EnvironmentFile=/etc/sysconfig/rsyncd
ExecStart=/usr/bin/rsync --config=/etc/rsyncd/rsyncd.conf  --daemon --no-detach "$OPTIONS"
 
[Install]
WantedBy=multi-user.target

4.2.4 服务器配置完成,重启服务

sudo systemctl daemon-reload
sudo systemctl restart rsyncd

4.3 客户端配置

sudo echo '123456' >>/etc/rsyncd.passwd     //注意这里只需要服务器rsyncd.passwd 中的密码
sudo chmod 600 /etc/rsyncd-test.passwd

4.4 发送文件

sudo rsync -auv --password-file=/etc/rsync.passwd  /mnt/map_modele root@123.xx.xx.xx::simba

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

您可能感兴趣的文章:
阅读全文