首页 > 其他分享 >rsync数据镜像工具

rsync数据镜像工具

时间:2022-12-18 02:44:05浏览次数:61  
标签:文件 rsync -- file 172.16 镜像 工具 root

rsync功能介绍

rsync是Linux系统下的数据镜像备份工具,通过rsync可以将本地系统数据通过网络备份到任何远程主机上。

rsync有如下特性:

  • 可以镜像保存整个目录树和文件系统

  • 可以增量同步数据,文件传输效率高,因而同步时间很短。

  • 可以保持原有文件的权限、时间等属性。

  • 加密传输数据,保证了数据的安全性。

rsync有两种应用模式

  • client/server模式
  • client/client模式。

rsync官方地址:https://rsync.samba.org/
rsync监听端口:873

安装:yum install -y rsync

rsync使用

-a 归档模式传输,等于-tropgDl -t -r -o -g -D -l

-r 递归复制目录树

-v 详细模式输出,打印速率,文件数量等
rsync -v ./2.txt [email protected]:/opt/

-z 传输时进行压缩以提高效率
$ rsync -vz ./2.txt [email protected]:/opt/

-t 保持文件时间信息
rsync -vzrt ./a/b/c/2.txt [email protected]:/opt/

-o 保持文件属主信息

-g 保持文件属组信息
rsync -vzrtgo ./a/b/c/2.txt [email protected]:/opt/

-p 保持文件权限
rsync -vzrtgop ./a/b/c/2.txt [email protected]:/opt/

-l 保留软连接
rsync -vzrtgopl ./* [email protected]:/opt/

-p 显示同步的过程及传输时的进度等信息
rsync -vzrtgoplP ./* [email protected]:/opt/

-D 保持设备文件信息
rsync -vzrtgDopl /dev/tty1 [email protected]:/opt/

-L 把软连接拷贝成文件

-e 使用的信道协议,指定替代rsh的shell程序

--append 指定文件接着上次传输中断处继续传输

--append-verify 使用参数续传(在断点续传之后,验证一下文件,如果不同,修复文件)

--exclude=PATTERN 指定排除不需要传输的文件
rsync -avzP --append-verify --exclude=2.txt ./* [email protected]:/opt/

--exclude-from=file 按照文件指定内容排除
rsync -avzP --append-verify --exclude-from=/tmp/exclude.txt ./* [email protected]:/opt/

--bwlimit=100 限速传输(单位:mb)
rsync -avzP --append-verify --bwlimit=10 ./* [email protected]:/opt/

--delete 让目标目录和源目录数据保持一致

--password-file=xxx 使用密码文件

--port 指定端口传输

rsync的client/server模式

client/server模式下,是在server端启动一个服务端口,然后客户端来连接这个端口,进行数据的同步和传输。

服务端设置

rsync服务端的配置文件为/etc/rsyncd.conf

该文件需要手动创建

# /etc/rsyncd.conf
uid = nobody    # 用户id
gid = nobody	# 用户组id
use chroot = no	 # 安全相关
port = 873		# 指定端口
max connections = 10 # 最大连接数
pid file = /var/run/rsyncd.pid  # pid文件
lock file = /var/run/rsync.lock # 锁文件
log file = /var/log/rsyncd.log # 日志文件

[abc]    # 模块的名称,在客户端拉取的时候使用
path = /data   # 备份的目标地址
comment = abc file  # 备注
ignore errors # 忽略错误程序
read only = true  # 只读,yes表示只允许下载,no表示可上传可下载
list = false # 设置是否可以被查看到,为false则表示隐藏,为true则表示可被查看
uid = root  # 设置当为守护进程时的id
gid = root  # 组id
auth users = hxg   # 用户
secrets file = /etc/server.pass # 密码文件

其中选项的解释

全局的

  • uid 此选项指定当该模块传输文件时守护进程应该具有的用户ID,默认值是“nobody”。

  • gid 此选项指定当该模块传输文件时守护进程应该具有的用户组ID。默认值为“nobody”。

  • max connections 此选项指定模块的最大并发连接数量,以保护服务器,超过限制的连接请求,将被暂时限制。默认值是0,也就是没有限制。

  • pid file 此选项用来指定rsync守护进程对应的PID文件路径。

  • lock file 此选择指定支持max connections的锁文件,默认值是/var/run/rsyncd.lock。

  • log file 此选项指定了rsync的日志输出文件路径。

  • hosts allow 单个IP地址或网络地址,允许访问的客户机地址

模块的

  • [abc] 表示定义一个模块的开始,ixdba就是对应的模块名称。

  • path 此选项用来指定需要备份的文件或目录,必填项,这里指定的目录为/webdata。

  • exclude 用来指定多个由空格隔开的多个文件或目录(相对路径),将其添加到exclude列表中。这等同于在客户端命令中使用―exclude或----filter来指定某些文件或目录不下载或上传(既不可访问)

  • list 此选项设定当客户请求可以使用的模块列表时,该模块是否被列出。默认值是true,如果需要建立隐藏的模块。可以设置为false。

  • auth users 此选项用来定义可以连接该模块的用户名,多个用户用空格或逗号分隔开。需要注意的是这里的用户和Linux系统用户没有任何关系。这里指定的用户是backup。

  • secrets file 此选项指定一个包含用户名:密码格式的文件,用户名就是auth users选项定义的用户,密码可以随便指定,只要和客户端的secrets file对应起来就行。

  • hosts allow 指定哪些IP的客户允许连接该模块。定义可以是以下形式:

    单个IP地址,例如:192.167.0.1,多个IP或网段需要用空格隔开。

    整个网段,例如:192.168.0.0/24,也可以书写为192.168.0.0/255.255.255.0 *则表示所有,默认是允许所有主机连接。

  • hosts deny 指定不允许连接rsync服务器的机器,可以使用hosts allow的定义方式来进行定义。默认是没有hosts deny定义

  • timeout 通过该选项可以覆盖客户指定的IP超时时间。

    通过该选项可以确保rsync服务器不会永远等待一个崩溃的客户端。超时单位为秒钟,0表示没有超时定义,这也是默认值。对于匿名rsync服务器来说,一般会定义为600.

只有在auth users被定义时,该文件才起作用。系统默认没有这个文件,自己手动创建一个即可。

将服务端设置成守护进程模式

有两种方法

利用--daemon直接执行

$ whereis rsync
rsync: /usr/bin/rsync /usr/share/man/man1/rsync.1.gz
$ /usr/bin/rsync --daemon
$ ps -ef|grep rsync
root     20278     1  0 16:29 ?        00:00:00 /usr/local/bin/rsync --daemon

利用systemctl执行

创建密码文件
echo "hxg:123456" > /etc/server.pass
给密码文件授权(必须授权为600)
chomd 600 /etc/server.pass
启动服务

systemctl start rsyncd

客户端

常见拷贝组合

显示拷贝过程的

加了L,将软连接拷贝成文件

rsync -vzrtopgL --delete [email protected]::abc /data --password-file=/etc/server.pass

rsync -avzpPL [email protected]::abc /data --password-file=/etc/server.pass

忽略软连接

rsync -vzrtopg --delete [email protected]::abc /data --password-file=/etc/server.pass 不拷贝软连接 推荐

拷贝软连接

rsync -vzrtopgl --delete [email protected]::abc /data --password-file=/etc/server.pass

rsync -avzpP [email protected]::abc /data --password-file=/etc/server.pass 需要拷贝软连接 推荐

不显示过程 去掉vP就可以了


也可以手动输密码

rsync -avzpP [email protected]::abc /data


或者使用环境变量

添加环境变量
定义环境变量
export RSYNC_PASSWORD=123456

同步
rsync -avzpP /data [email protected]::abc

持续同步数据,只需要写入crontab任务

执行crontab -e 文件在/var/spool/cron/root

写入

*/1 * * * * rsync -azpL --delete [email protected]::abc /data --password-file=/etc/server.pass &> /dev/null

rsync的client/client模式

rsync -azpL --delete Python-3.6.5.tgz [email protected]:/mnt (推送模式)

rsync -azpL --delete [email protected]:/mnt/Python-3.6.5.tgz /app/(拉取模式)

默认情况下rsync走的是ssh协议,22端口,如果ssh是非默认的22端口,那么可以添加“-e“选项:

rsync -azpL --delete --progress -e 'ssh -p 9090' Python-3.6.5.tgz [email protected]:/mnt (推送模式)

rsync -azpL --delete --progress -e 'ssh -p 9090' [email protected]:/mnt/Python-3.6.5.tgz /app/(拉取模式)

其中,9090是sshd服务的端口。

标签:文件,rsync,--,file,172.16,镜像,工具,root
From: https://www.cnblogs.com/guangdelw/p/16989927.html

相关文章

  • telnet、wirshark等工具介绍
    1. telnet工具  1.1介绍       (1)telnet是一个命令行运行的客户端TCP通信工具      (2)可以接收数据、也可发送数据,windows和linux上都能用......
  • 智慧树视频课件课程下载工具,如何在电脑端下载智慧树视频课件PDF,PPT到本地
    一.安装智慧树下载器1.获取学无止下载器https://www.xuewuzhi.cn/zhihuishu_downloader2.下载安装后,然后点击桌面快捷方式运行即可。注意:杀毒软件可能会阻止外部exe文......
  • [常用工具]深度学习Caffe处理工具
    目录​​1Caffe数据集txt文本制作​​​​2jpg图像完整性检测​​​​3图像随机移动复制​​​​4图像尺寸统计​​​​5图像名字后缀重命名​​​​6 两文件夹文件比......
  • Python+QT美颜工具源码
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • PyCharm数据库工具异常———时区原因
    PyCharm中有提供视图化的数据库工具——Database,在使用这个工具的时候,因为时区设置的问题,会导致连接不成功。有这个severTimeZone单词就试试下边的方法:在连接的那里,TestC......
  • docker系列<五>镜像私有仓库
    一、一般的系统都是分布式系统,需要在很多台服务器上架设同一个服务应用,这个时候需要每一台服务器上去构建应用镜像然后创建容器。这样每一次根新容器的时候都需要一个一个......
  • macOS Monterey 12.6.2 (21G320) Boot ISO 原版可引导镜像
    macOSMonterey12.6+,皆为安全更新,不再赘述。macOSMonterey12.6,发布于2022年9月12日(北京时间今日凌晨),本次为安全更新。今日(2022-07-21)凌晨,Apple终于发布了macO......
  • macOS Ventura 13.1 (22C65) Boot ISO 原版可引导镜像
    本站下载的macOSVentura软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。2022年12月13日,macOSVentura13.1......
  • Appium工具
    1、安装(1)jdk安装以及环境配置a.jdk下载地址:https://www.oracle.com/cn/java/technologies/downloads/新建系统环境变量:b.编辑Path环境变量c.验证是否安装好(2)Andro......
  • 如何使用Jlink自带工具 ——SWD打印
    参考文档:详解J-LinkRTT打印-知乎(zhihu.com)         (21条消息)keil+stm32+jlink利用swd方式进行printf输出_大川搬砖的博客-CSDN博客_jline任意......