rsync的搭建与使用

rsync是数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。

已支持跨平台,可以在Windows与Linux间进行数据同步。

Ubuntu安装

sudo apt-get install rsync

Centos安装

yum install rsync

基本用法

rsync语法有三种,分别是本地到本地形式Local to Local,本地到远程Local to Remote,远程到本地Remote to Local。

其中OPTION是rsync选项。SRC是源目录。DEST是目标目录。USER是远程用户名。HOST是远程主机名名称,可以是IP地址或者可解释的域名

Local to Local:  rsync [OPTION]... [SRC]... DEST
Local to Remote: rsync [OPTION]... [SRC]... [USER@]HOST:DEST
Remote to Local: rsync [OPTION]... [USER@]HOST:SRC... [DEST]

值得一提的是rsync命令会根据源目录是否使用斜杠/,而又不同的处理方式。

如果在源目录尾部添加斜杠,rsync会将目录的内容复制到目标目录。在省略斜杠,rsync则会将源目录复制到目标目录。

常用功能及选项

记住最常用的几个即可,比如 -a、-v、-z、–delete 和 –exclude。

OPTION选项功能
-a这是归档模式,表示以递归方式传输文件,并保持所有属性,它等同于-r、-l、-p、-t、-g、-o、-D 选项。-a 选项后面可以跟一个 –no-OPTION,表示关闭 -r、-l、-p、-t、-g、-o、-D 中的某一个,比如-a –no-l 等同于 -r、-p、-t、-g、-o、-D 选项。
-r表示以递归模式处理子目录,它主要是针对目录来说的,如果单独传一个文件不需要加 -r 选项,但是传输目录时必须加。
-v表示打印一些信息,比如文件列表、文件数量等。
-l表示保留软连接。
-L表示像对待常规文件一样处理软连接。如果是 SRC 中有软连接文件,则加上该选项后,将会把软连接指向的目标文件复制到 DEST。
-p表示保持文件权限。
-o表示保持文件属主信息。
-g表示保持文件属组信息。
-D表示保持设备文件信息。
-t表示保持文件时间信息。
–delete删除只存在于目标目录、不存在于源目录的文件。
–exclude=PATTERN表示指定排除不需要传输的文件,等号后面跟文件名,可以是通配符模式(如 *.txt)。
–progress表示在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、 同步的文件传输速度等。
-u表示把 DEST 中比 SRC 还新的文件排除掉,不会覆盖。
-z加上该选项,将会在传输过程中压缩。
–password-file=FILE从FILE中得到密码

远程同步模式

rsync 默认使用 SSH 进行远程登录和数据传输。

将本地内容,同步到远程服务器

rsync  source/  username@remote_host_or_ip:destination

远程内容同步到本地

rsync  username@remote_host_or_ip:source/  destination

rsync 指定SSH端口

rsync -a -e "ssh -p port" source/  username@remote_host_or_ip:destination

配置文件

/etc/rsyncd.conf

# pid file 守护进程pid文件
# port 守护进程监听端口,可更改,由xinetd允许rsyncd时忽略此参数
#address 守护进程监听ip,由xinetd允许rsyncd时忽略此参数
pid file = /usr/local/var/run/rsyncd.pid
port = 873
address = 192.168.1.2
#rsyncd 守护进程运行系统用户全局配置,也可在具体的块中独立配置,
uid = root
gid = root
#允许 chroot,提升安全性,客户端连接模块,首先chroot到模块path参数指定的目录下
#chroot为yes时必须使用root权限,且不能备份path路径外的链接文件
use chroot = yes
#只读
read only = no
#只写
write only = no
#允许访问rsyncd服务的ip,ip端或者单独ip之间使用空格隔开
hosts allow = 192,168.0.1/255.255.255.0 198.162.145.1 10.0.1.0/255.255.255.0
#不允许访问rsyncd服务的ip,*是全部(不涵盖在hosts allow中声明的ip,注意和hosts allow的先后顺序)
hosts deny = *
#客户端最大连接数
max connections = 5

[data1]
#模块根目录,必须指定
path=/home/username
#是否允许列出模块里的内容
list=yes
#忽略错误
#ignore errors
#模块验证用户名称,可使用空格或者逗号隔开多个用户名
auth users = data1user
#模块验证密码文件 可放在全局配置里
secrets file=/etc/rsyncd/rsyncd.secrets
#注释
comment = some description about this moudle
#排除目录,多个之间使用空格隔开
exclude = test1/ test2/

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/6138

(0)
郭靖的头像郭靖
上一篇 2022年11月18日 下午4:27
下一篇 2022年11月19日 下午12:10

相关推荐

  • Linux系统管理本地 Linux 用户和组

    Linux的用户UID 系统中的每个进程(运行程序)都作为一个特定用户运行。每个文件归一个特定用户所有。对文件和目录的访问受到用户的限制。与运行进程相关联的用户可确定该进程可访问的文件和目录。 用户的分类 root用户 用户系统中唯一,权限最大,可以操作任意命令 普通用户 权限较低,只能编辑自己的用户家目录,由root账户创建 虚拟用户 没有登录系统的权限,…

    2022年6月11日
    1.5K00
  • Docker Dockerfile 使用方法

    Dockerfile 介绍当使用Docker构建容器化应用程序时,Dockerfile是一个用于定义容器镜像的文本文件。它包含了一系列指令,告诉Docker如何从基础镜像(通常是官方或自定义的操作系统镜像)构建出最终的镜像,以及如何配置容器中的环境、文件和应用程序。 Dockerfile 的编写是构建容器的基础,它允许您定义容器的构建步骤、环境和配置。通过合…

    2023年10月19日
    1.3K00
  • 在 VMware 中安装 Kali Linux 系统的详细过程

    Kali Linux 是用于学习和练习黑客攻击和渗透测试的Linux发行版的不二之选。 而且,如果你经常捣鼓 Linux 发行版,出于好奇心,你可能已经尝试过它。 警告!本文介绍的内容仅供学习 Kali Linux 的安装,请勿使用 Kali Linux 进行任何非授权的行为。Kali Linux 应该用于在授权的情况下,对授权的目标进行合理的渗透测试,以了…

    2022年6月8日
    2.7K00
  • linux下如何mount挂载lvm磁盘

    磁盘如果是普通的分区,比如:ntfs、ext3等,可以直接用 mount -t <type>来制定文件系统类型来挂载,但有时候磁盘是采用的lvm卷的分区,要挂载这类磁盘,就应该按照以下方式: a. 扫描逻辑卷: b. 激活扫描到的卷: c. 挂载 注:/dev/VolGroup00文件夹下面可能会有几个:lvm_root、lvm_swap、lvm…

    2023年7月20日
    1.6K00
  • /etc/security/limits.conf配置文件详解

    /etc/security/limits.conf 是一个用于配置用户或用户组资源限制的配置文件。这个文件通常用于设置系统资源的软限制和硬限制,以及一些特殊权限。 一. limits.conf常见配置项详解 下面是一些 /etc/security/limits.conf 文件中可能包含的常见配置项: 描述 第一列表示用户和组(@开头),这里的 * 代表所有用…

    2024年5月14日
    1.4K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信