本文介绍: rsync —- remote synchronize ,是一款实现远程同步功能软件rsync使用“Rsync算法”来同步文件,该算法只传送两个文件不同部分,因此速度相当快;同步文件的同时,可以保持原来文件的权限时间目录结构;对于多个文件来说,内部流水线减少文件等待延时rsync默认监听TCP 873端口通过远程shellrshssh复制文件。同时要求必须在远程本地系统上都安装sync.

linuxwindows服务器间文件增量同步:Rsync使用教程

img

对于运维人员数据备份日常重要而又必须做的工作选择一种好的备份软件效率会大大提升。rsync 就是一款功能强大,高效,安全速度快的文件增量传输工具

一 、什么rync

  1. rsync —- remote synchronize ,是一款实现远程同步功能软件
  2. rsync使用“Rsync算法”来同步文件,该算法只传送两个文件的不同部分,因此速度相当快;
  3. 同步文件的同时,可以保持原来文件的权限时间目录结构
  4. 对于多个文件来说,内部流水线减少文件等待延时
  5. rsync默认监听TCP 873端口通过远程shellrshssh复制文件。同时要求必须在远程本地系统上都安装sync.

二、准备

源文件地址:192.168.0.1 centos7
目标文件地址:192.168.0.2 windows 10
关闭防火墙systemctl stop firewalld.service
查看防火墙状态firewallcmdstate
请将/etc/sysconfig/selinux文件中SELINUX的值为disable,修改重启linux使修改生效, 否则将影响文件同步
以下步骤达到的效果
客户端应用服务器、文件源服务器)192.168.0.1 中进行同步的文件夹下的内容(/usr/lmr/backup/)同步复制到服务器(备份服务器目标服务器)192.168.0.2 中(E:桌面新建文件夹)。

三、安装配置 Rsync服务端linux

1、检查没有安装rsync

安装
1.png
安装
1.png

2.安装rsync

目前Llinux各大发行版操作系统都已安装rsync ,可以通过rysncversion查看当前版本需要安装最新版本的,可到 rysnc 的官方网站http://rsync.samba.org/ 下载最新版本编译安装。

#yum install -y  rsync ####yum 安装 

1.png
编译安装:

#wget  https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz #tar -zxvf   rsync-3.1.3.tar.gz #cd rysnc-3.1.3 #./configure --prefix=/usr/local/rsync #make && make install 

rsync 安装完成默认在/usr/local/rsync/bin下,配置后可以备份或者传输远程服务数据

注意:编译安装前得先安装gcc编译工具

3.配置rsync
  1. 配置文件
    rsync的主要有以下三个配置文件
    rsyncd.conf —-主配置文件需要手动生成
    rsyncd.pass —-密码文件
    rsyncd.motd —-rysnc服务信息

保存rsync配置文件的地址为:/usr/lmr/soft/rsync/
首先进入存放配置文件的文件夹

ln  -s  /etc/rsyncd.conf   #关联rsync的默认配置文件,使我们配置文件生效,会创建rsyncd.conf文件
vi rsyncd.conf 

rsyncd.conf(rsync服务的主要配置文件,它控制rsync服务的各种属性,下面给出一个rsyncd.conf文件的例子

#进行同步或者备份的用户nobody 为任何用户 
uid = root #进行备份的组,nobody任意gid = root 
#端口 
port = 873 
#如果"use chroot"指定true,那么rsync在传输文件以前首先chroot到path参数指定目录下。这样做的原因实现额外安全防护,但是缺点是需要root权限,并且不能备份指向外部符号连接指向目录文件。默认情况下chroot值为true.但是一般不需要选择nofalse 
use chroot = yes 
read only = on 
#不允许列清单 
list = no 
#最大连接数 
max connections = 4 
#pid文件的存放位置 
#pidfile = /var/run/rsyncd.pid  
#锁文件的存放位置 
lock file=/var/run/rsyncd.lock 
#日志文件的存放位置 
log file = /var/log/rsyncd.log 
motd file = /etc/rsyncd/rsyncd.motd 
# //此文件定义完成系统自动创建 
exclude = lost+found/ 
transfer logging = yes 
#覆盖客户指定的IP超时时间,也就是说rsync服务器不会永远等待一个崩溃客户端timeout = 900 
ignore nonreadable = yes 
# //同步时跳过没有权限目录 
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 
#  //传输时不压缩的文件 
#哪些电脑可以访问rsync服务,这里可以指定单个IP,也可以指定整个网段,能提高安全性格式ipip 之间ip网段之间网段网段之间要用空格隔开 
#hosts allow = 172.25.0.110 
#哪些电脑不可以访问rsync服务 
#hosts deny = 172.25.0.0/24 
#这里认证模块名,即跟samba语法一样,是对外公布的名字 
[backup] 
comment = this is module for backup 
#这里是参与同步的目录
path = /usr/lmr/backups/ 
#可以忽略一些无关的IO错误 
ignore errors 
#允许可读可写
read only = no 
#认证用户名 
auth users = root 
#密码文件存放地址 
secrets file = /etc/rsyncd.pass

注:auth users = redhat 认证用户名 这个名字服务器端实实在在存在用户大家不要直接步骤走却忽略了这点。如果服务器端少了这个的话我估计你的数据同步就实现不了,大家要谨记

编写用户密码文件

echo "root:123" > /etc/rsyncd.pass 

root:上一步设置登录用户名;123:文件的密码自己随意设;且此步创建了rsyncd.pass文件
修改密码文件权限

chmod 600 /etc/rsyncd.pass 

定义 rsyncd.motd 文件

rsyncd.motd主要定义用户登录rsync服务的欢迎信息,可以自己根据需求定义,跟FTP登录界面一样如:

# vi /etc/rsyncd.motd 
*****************************************************  
 Welcome to use the zxl's rsync services!
*****************************************************

启动rsync服务

#/usr/bin/rsync  --daemon 
#netstat -lntup |grep rsync 
#ps -ef |grep rsync |grep -v grep

image.png

出现873端口表示启动成功

设置开机自启动

#echo "/usr/bin/rsync --deamon">>/etc/rc.local #cat  /etc/rc.local 

注: –daemon 是让rsync 以服务器模式运行

注:访问不了可能防火墙问题,可将873端口打开,具体方法百度

四、安装rsync客户端windows

1.下载并安装

客户端下载[cwRsync_4.1.10_客户端_windows.zip]


https://www.jb51.net/softs/55934.html#downintro2

安装后如下图,红色的是新增一个password.txt
image.png
password.txt内容如下

123

image.png
就是对应centos上rsync.passwd密码一样

2、执行命令

注:这里要进入rsync安装目录bin目录执行

./rsync.exe -avzP --port=873 --password-file=/cygdrive/e/软件/cwRsync/bin/password.txt root@192.168.0.1::backup  /cygdrive/e/桌面/新建文件夹 

也可直接这样写:

"E:软件cwRsyncbinrsync.exe" -avzP  --port=873 --password-file=/cygdrive/e/软件/cwRsync/bin/password.txt root@192.168.0.1::backup  /cygdrive/e/桌面/新建文件夹 

这段命令的意思简单说下
port=873 #端口
root #执行数据同步的用户
192.168.0.1 #服务器地址
backup #模块名称,既rsync服务端配置文件中的[backup]
/cygdrive/e/桌面/新建文件夹 #表示本地的同步文件夹,/cygdrive/e/等同于e:/
如果指定
delete #从cwRsync客户端目录 e:/桌面/新建文件夹 中删除与Rsync服务端 /usr/lmr/backup 目录中不相同数据,即保证两边的数据完全一致
/cygdrive/e/软件/cwRsync/bin/password.txt #密码文件

运行起来,同步的效果如下
image.png

五、定时备份

1.linux定时备份

与contab 结合定时备份

创建定时备份任务,A主机上将要备份/home/data 文件同步到B主机(172.25.0.150) 下/backup目录。

每天的晚上23:30 执行备份任务

vim AtoBbacku.sh #!/bin/bash rsync -avzP  --delete  --password-file=rsyncd.secrets /home/data  root@172.25.0.150::/backup
chmod 755 AtoBbacku.sh
crontab -e
30 23 * * *   sh -x /AtoBbacku.sh 
2.windows备份
1>新建rysnc.txt文件,填入以下内容
@echo off
"E:软件cwRsyncbinrsync.exe" -avzP  --port=873 --password-file=/cygdrive/e/软件/cwRsync/bin/password.txt root@172.25.0.1::backup  /cygdrive/e/桌面/新建文件夹 

将该文件另存为rysnc.bat文件,编码为ANSI
image.png

注:如果编码utf8,文本中的中文出现乱码导致执行出错

2>开启定时任务

批处理完成了,怎么来实现周期性的运行脚本呢?windows自带了非常强大的定时任务功能进入计算机管理(此电脑右键管理”),在系统工具->任务计划程序->任务计划程序库中看到电脑所有的定时任务右键可以创建基本任务
image.png
按图中输入名称描述点击一步设置触发器任务触发时间
image.png
点击下一步设置任务执行操作,这里选择启动程序
image.png
image.png
选择刚才制作bat脚本点击下一步
image.png
点击完成创建任务
image.png
选择刚创建的任务,右键点击属性打开属性对话框,点击触发器双击已设置的触发器设置任务重复执行
image.png
点击确定完成定时任务设置,右击任务启动任务。

六、rsync六种不同工作模式

1.拷贝本地文件,将/home/coremail目录下的文件拷贝到/cmbak目录下

$ rsync –avSH /home/coremail/ /cmbak/

2.拷贝本地机器内容远程机器

$ rsync –av /home/coremail/ 192.168.11.12:/home/coremail/

3.拷贝远程机器内容本地机器

$ rsync –av 192.168.11.11:/home/coremail/ /home/coremail/

4.拷贝远程rsync服务器(daemon形式运行rsync)的文件到本地

$ rsync -av root@172.16.78.192::www /databack

5.拷贝本地机器文件到远程rsync服务器(daemon形式运行rsync)中。当DST路径信息包含”::”分隔符时启动该模式

$ rsync -av /databack root@172.16.78.192::www

6.显示远程机的文件列表。这类似于rsync传输,不过只要在命令省略本地机信息即可

$ rsync -v rsync://192.168.11.11/data

link: http://luomuren.top/articles/2021/04/06/1617641017252.html

原文地址:https://blog.csdn.net/a772304419/article/details/132431332

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_41776.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注