rsync

发布时间 2023-08-30 13:38:00作者: jinqiu001

Rsync软件介绍

Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。

http://www.samba.org/ftp/rsync/rsync.html

全量及增量:

全量:将全部数据,进行传输覆盖

增量:只传输差异部分的数据

实现增量复制的原理

在同步备份数据时,默认情况下,Rsync通过其独特的“quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可根据权限,属主等属性的变化同步,但需要指定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所以,可以实现快速的同步备份数据。

rsync 软件功能介绍 

类似于 cp 命令 -- 实现本地备份传输数据

类似于scp 命令 -- 远程备份传输数据

类似于 rm 命令 -- 实现无差异同步备份

类似于 ls 命令 -- 本地文件信息查看

Rsync的特性总结(7个特性信息说明)

01. 支持拷贝普通文件与特殊文件如链接文件,设备等。

02. 可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。

#tar zcvf backup_1.tar.gz /opt/data -exclude=clsn

说明:在打包/opt/data时就排除了clsn命名的目录和文件。

03. 可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变-p。

04. 可实现增量同步,既只同步发生变化的数据,因此数据传输效率很高(tar -N)。

# 将备份/home 目录自 2008-01-29 以来修改过的文件

# tar -N 2008-01-29 -zcvf /backups/inc-backup_$(date +%F).tar.gz /home

# 将备份 /home 目录昨天以来修改过的文件

# tar -N $(date -d yesterday "+%F") -zcvf /backups/inc-backup_$(date +%F).tar.gz /home

# 添加文件到已经打包的文件

# tar -rf all.tar *.gif

说明:这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

05. 可以使用rcp,rsh,ssh等方式来配合进行隧道加密传输文件(rsync本身不对数据加密)

06. 可以通过socket(进程方式)传输文件和数据(服务端和客户端)*****。重点掌握

07. 支持匿名的或认证(无需系统用户)的进程模式传输,可实现方便安全的进行数据备份及镜像。

1.4配置rsync服务端(将服务端配置到 backup 服务器上)

1.检查服务是否安装

  1. 进行服务配置

Vim /etc/rsyncd.conf

uid = rsync

gid = rsync

use chroot = no

max connections = 200

timeout = 300

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

ignore errors

read only = false

list = false

hosts allow = 10.0.0.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password

[backup]

comment = "backup dir by jinqiu"

path = /backup

  1. 创建rsync用户

[root@backup ~]# id rsync

id: rsync: No such user

[root@backup ~]# useradd -s /sbin/nologin -M rsync

4.创建数据备份储存目录,目录修改属主

[root@backup ~]# mkdir /backup/

[root@backup ~]# chown -R rsync:rsync /backup/

5.创建认证用户密码文件

echo "rsync_backup:123456" >>/etc/rsync.password

chmod 600 /etc/rsync.password

  1. 启动服务

rsync --daemon

  1. 检查服务是否启动

1.5配置rsync客户端

  1. 检查服务是否存在

  1. 创建认证文件

echo "123456" >>/etc/rsync.password

chmod 600 /etc/rsync.password

  1. 测试

rsync -avz /root/python/ rsync_backup@106.13.188.247::backup --password-file=/etc/rsync.password

Sersync实时同步

1.上传并解压安装包

2.进入GNU-Linux-x86并备份配置文件

  1. 修改配置文件

4.移动配置文件

先创建目录

移动配置文件到相应目录下

5.查看帮助

6.启动服务