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

相关推荐

  • Nginx与安全有关的几个配置

    隐藏版本号 经常会有针对某个版本的nginx安全漏洞出现,隐藏nginx版本号就成了主要的安全优化手段之一,当然最重要的是及时升级修复漏洞 开启HTTPS ssl on: 开启https ssl_certificate: 配置nginx ssl证书的路径 ssl_certificate_key: 配置nginx ssl证书key…

    2023年1月16日
    1.3K00
  • root用户 ssh远程登录 提示access denied

    ssh远程登录 提示Access denied,如下图所示: 需要修改SSH服务配置文件sshd_config来解决这个问题。文件路径为 /etc/ssh/sshd_config ,默认文件内容如下图: 图中红框内容修改为 PermitRootLogin yes,如下图所示: 修改好配置文件并保存,service ssh restart 重启SSH服务,ss…

    2023年6月8日
    1.4K00
  • DNS服务器搭建与正反解析配置

    DNS服务介绍 DNS(Domain Name System–域名系统),是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。是一个应用层的协议DNS使用TCP和UDP端口53。 DNS是一个分布式数据库,命名系统采用层次的逻辑结构,如同一颗倒置的树,这个逻辑的树形结构称为域名空间,由于DNS划分了域名空间,所以…

    2024年5月15日
    99800
  • 在 Linux 中检查文件大小的 4 种方法

    在 Linux 操作系统中,经常需要检查文件的大小。无论是管理文件系统空间,还是确定文件传输的大小限制,了解文件大小是非常重要的。本文将介绍 4 种常用的方法,帮助你在 Linux 中检查文件的大小。 方法一:使用 ls 命令ls 命令是 Linux 中最常用的文件和目录列表命令之一。它可以显示文件的各种属性,包括文件大小。使用 ls 命令检查文件大小的方法…

    2024年5月23日
    1.0K00
  • OpenSuSe系统登录密码忘了如何进行重置

    如果你的OpenSusE系统密码忘记了,又不想重装系统,那么,你可以通过如下几个步骤来强制重置root密码 1、重新启动机器,在出现grub引导界面后,按“e”,出现启动Linux的选项,移动光标至第一个选项上再次按“e”出现一个编辑字符的界面在字符后面加入“init=/bin/bash”字段,然后回车。按Ctrl+X,通过给内核传递init=/bin/ba…

    2022年11月24日
    1.9K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信