rsync实现客户端自动与服务器同步数据详细过程(原创)

本文详细介绍rsync软件如何实现客户端自动与服务器之间的数据同步,包括安装、服务器端配置、客户端配置以及自动同步数据的方法。通过rsync的高效算法和安全性,确保数据同步的一致性和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

rsync实现客户端自动与服务器同步数据详细过程(原创)

作者:东风   测试时间:2014年8月8日15:48:25    地点:上海浦东

1、rsync知识,
    rsync:remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。

  rsync 包括如下的一些特性:

  能更新整个目录和树和文件系统;
  有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;
  对于安装来说,无任何特殊权限要求;
  对于多个文件来说,内部流水线减少文件等待的延时;
  能用rsh、ssh 或直接端口做为传输入端口;
  支持匿名rsync 同步文件,是理想的镜像工具;

2、安装rsync软件;

    配置好yum源,配置yum源具体过程略过。yum -y install rsync 安装即可。

3、服务器端配置

     rsync需要配置三个文件:

     rsyncd.conf(主配置文件)、 该文件默认不存在,需要手动创建;

     rsyncd.secrets(密码文件)、用户密码文件,文件属性要设置root, 且权限要设为600, 否则无法备份成功!

     rsyncd.motd(rysnc服务器信息) 、可以不用配置,只是提示信息而已。

具体过程如下:

a.创建配置文件

[root@ogg1 ~]# vi /etc/rsyncd.conf  添加一下内容:

pid file = /var/run/rsyncd.pid
port = 873
address = 10.15.72.230
uid = root
gid = root

use chroot = yes
read only = yes

#limit access to private LANs
hosts allow=192.168.56.0/24 10.15.72.0/24
hosts deny=*

max connections = 5
motd file = /etc/rsyncd.motd

#This will give you a separate log file
#log file = /var/log/rsync.log


#This will log every file transferred - up to 85,000+ per user, per sync
#transfer logging = yes

log format = %t %a %m %f %b
syslog facility = local3
timeout = 300

[rootdata]
path = /root
list=yes
ignore errors
auth users = root
secrets file = /etc/rsyncd.secrets
comment = This is root user data
exclude = oracle/
 

详解:我们需要将服务器(ip:10.15.72.230)的/root文件 同步到客户端,但是将/root/oracle 文件夹排除在外,不用同步;

pid file = /var/run/rsyncd.pid    #告诉进程写到 /var/run/rsyncd.pid 文件中;
port = 873                        #指定运行端口,默认是873,您可以自己指定;
address = 10.15.72.230            #指定服务器IP地址
uid = root
gid = root
注:服务器端传输文件时,要发哪个用户和用户组来执行,默认是nobody。 如果用nobody 用户和用户组,可能遇到权限问题,有些文件从服务器上拉不下来。所以我就偷懒,为了方便,用了root 。不过您可以在定义要同步的目录时定义的模块中指定用户来解决权限的问题。
use chroot = yes
注:用chroot,在传输文件之前,服务器守护程序在将chroot 到文件系统中的目录中,这样做的好处是可能保护系统被安装漏洞侵袭的可能。缺点是需要超级用户权限。另外对符号链接文件,将会排除在外。也就是说,你在 rsync服务器上,如果有符号链接,你在备份服务器上运行客户端的同步数据时,只会把符号链接名同步下来,并不会同步符号链接的内容;这个需要自己来尝 试
read only = yes
注:read only 是只读选择,也就是说,不让客户端上传文件到服务器上。还有一个 write only选项,自己尝试是做什么用的吧;

#limit access to private LANs
hosts allow=192.168.56.0/24 10.15.72.0/24  
hosts deny=*
# 在您可以指定单个IP,也可以指定整个网段,能提高安全性。格式是ip 与ip 之间、ip和网段之间、网段和网段之间要用空格隔开;

max connections = 5   注:客户端最多连接数
motd file = /etc/rsyncd.motd
注:motd file 是定义服务器信息的,要自己写 rsyncd.motd 文件内容。当用户登录时会看到这个信息。

#This will give you a separate log file
log file = /var/log/rsync.log  注:rsync 服务器的日志;

#This will log every file transferred - up to 85,000+ per user, per sync
transfer logging = yes      注:这是传输文件的日志

log format = %t %a %m %f %b  注:日志格式
syslog facility = local3 
timeout = 300   注:连接超时

[rootdata]   #需要同步名称
path = /root   #指定文件目录所在位置,这是必须指定的 
list=yes     #list 意思是把rsync 服务器上提供同步数据的目录在服务器上模块是否显示列出来。默认是yes 。
ignore errors   #忽略IO错误 
auth users = root    #认证用户是root  ,是必须在服务器上存在的用户
secrets file = /etc/rsyncd.secrets   #密码存在哪个文件
comment = This is root user data   #注释可以自己定义
exclude = oracle/  #需要排除的文件,不需要同步;

当然,也可以不用添加那么多,有些保持默认即可:

# This line is required by the /etc/init.d/rsyncd script
pid file = /var/run/rsyncd.pid

uid=root
gid=root
read only = true
use chroot = true
transfer logging = true
max connections = 3
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log
hosts allow = 10.15.72.0/24
auth users = root
secrets file =/etc/rsyncd.secrets
motd file=/etc/rsyncd.motd

[rootdata]
path = /root


b.创建密码文件

[root@ogg1 ~]# vi /etc/rsyncd.secrets  添加如下:(用户名:密码)

root:root123

[root@ogg1 ~]#chown root:root  /etc/rsyncd.secrets  

[root@ogg1 ~]#chmod 600 /etc/rsyncd.secrets   

注:将rsyncd.secrets这个密码文件的文件属性设为root拥有, 且权限要设为600, 否则无法备份成功!


c.创建提示文件(只是提示性语句,可有可无)

[root@ogg1 ~]# vi /etc/rsyncd.motd  添加如下:

-------------------------------------------
this is the data of root user to sync.
------------------------------------------


d.启动rsync服务器及防火墙的设置

在这里我使用xinet 方式,如下:

[root@ogg1 ~]# vi /etc/services 添加如下:

  rsync  873/tcp  # rsync 
  rsync  873/udp  # rsync

这一步一般可以不做,通常都有这两行(我的RHEL4和GENTOO默认都有)。修改的目的是让系统知道873端口对应的服务名为rsync。如没有的话就自行加入。

  设定 /etc/xinetd.d/rsync, 简单例子如下:

[root@ogg1 ~]# vi /etc/xinetd.d/rsync ,将disable = no 即可;

  # default: off
  # description: The rsync server is a good addition to am ftp server, as it \
  #       allows crc checksumming etc.
  service rsync
  {
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
  }

注:这里主要是要打开rsync这个daemon, 一旦有rsync client要连接, xinetd会把它转介给 rsyncd(port 873)。然后service xinetd restart, 使上述设定生效.

[root@ogg1 ~]# service xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]

 rsync服务器防火墙设置

  Linux 防火墙是用iptables,所以我们至少在服务器端要让你所定义的rsync 服务器端口通过,客户端上也应该让通过。

  [root@ogg1 ~]#iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT
  [root@ogg1 ~]#iptables -L  查看一下防火墙是不是打开了 873端口

  如果不懂,直接放防火墙关闭即可;

[root@ogg1 ~]# service iptables stop 

[root@ogg1 ~]# chkconfig iptables off

[root@ogg1 ~]# service iptables status
Firewall is stopped.


4、客户端配置

A、语法详解
   在配置完rsync服务器后,就可以从客户端发出rsync命令来实现各种同步的操作。rsync有很多功能选项,下面就对介绍一下常用的选项:

  rsync的命令格式可以为:
  1. rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST 
  2. rsync [OPTION]... [USER@]HOST:SRC DEST 
  3. rsync [OPTION]... SRC [SRC]... DEST 
  4. rsync [OPTION]... [USER@]HOST::SRC [DEST] 
  5. rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST 
  6. rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

  rsync有六种不同的工作模式:

  1. 拷贝本地文件;当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。
  2.使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。
  3.使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。
  4. 从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。
  5. 从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。
  6. 列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。
  -a 以archive模式操作、复制目录、符号连接 相当于-rlptgoD

  rsync中的参数

  -r 是递归 
  -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
  -z 传输时压缩;
  -P 传输进度;
  -v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;
  -e ssh的参数建立起加密的连接。
  -u只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时
  --progress是指显示出详细的进度情况
  --delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
  --password-file=/password/path/file来指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。

B、一些例子

  B1、列出rsync 服务器上的所提供的同步内容;

[root@finchina-cs ~]# rsync --list-only root@10.15.72.230::
-----------------------------------------------------------
this is the root user data
-----------------------------------------------------------

rootdata       This is root user data

    B2、列出rsync 服务器上rootdata目录;

[root@finchina-cs ~]# rsync --list-only root@10.15.72.230::rootdata
-----------------------------------------------------------
this is the root user data
-----------------------------------------------------------


Password: (这里输入密码)
drwxr-x---        4096 2014/08/08 10:10:16 .
-rw-------         934 2014/08/08 10:10:16 .ICEauthority
-rw-------        7054 2014/08/08 09:43:58 .bash_history
-rw-r--r--          24 2006/07/13 08:06:42 .bash_logout
-rw-r--r--         191 2006/07/13 08:06:42 .bash_profile
-rw-r--r--         176 2006/07/13 08:06:42 .bashrc
-rw-r--r--         100 2006/07/13 08:06:42 .cshrc
-rw-------          26 2014/07/07 17:12:39 .dmrc

 B3、rsync客户端手动同步数据(将数据同步到客户端的/root/peng目录下)

[root@finchina-cs ~]# rsync -avz --progress --delete --password-file=/etc/rsync/pwd.txt root@10.15.72.230::rootdata /root/peng
-----------------------------------------------------------
this is the root user data
-----------------------------------------------------------

receiving incremental file list
.gconf/apps/puplet/
.gconf/apps/puplet/%gconf.xml
         245 100%  239.26kB/s    0:00:00 (xfer#1, to-check=50/105)

sent 134 bytes  received 3145 bytes  6558.00 bytes/sec
total size is 321580  speedup is 98.07

注:

--progress是指显示出详细的进度情况

--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致

--password-file=/etc/rsync/pwd.txt来指定密码文,

这里没有提示输入密码,是因为使用参数--password-file参数,并在客户端添加了密码文件:

[root@finchina-cs ~]# mkdir /etc/rsync/

[root@ogg1-client ~]# vi /etc/rsync/pwd.txt 添加如下:

root123

[root@ogg1-client ~]#chown root:root /etc/rsync/pwd.txt

[root@ogg1-client ~]#chmod 600 /etc/rsync/pwd.txt


5、客户端自动与服务器同步数据

5.1 客户端添加如下:

[root@ogg1-client rsync]# vi /etc/rsync/rootdata.sh 添加如下:

#!/bin/sh
#backup the server data: ip:10.15.72.230 hostname:ogg1 trace:/root
#the client trace:ip:10.15.72.253 hostname:ogg1-client  trace:/root/peng

rsync -avz --progress --delete --password-file=/etc/rsync/pwd.txt root@10.15.72.230::rootdata /root/peng

注:/etc/rsync/pwd.txt文件之前步骤已经创建,直接利用(注意属性,权限)。

[root@ogg1-client rsync]# chmod 755 /etc/rsync/rootdata.sh 


5.2 添加执行计划:

[root@ogg1-client rsync]# crontab -l 添加如下:

#backup rootdata
10 4 * * * /etc/rsync/rootdata.sh

注:表示在每天早上4点10分的时候运行同步脚本/etc/rsync/rootdata.sh;

10 4  * * * /etc/rsync/rootdata.sh 表示:

第1列分钟1~5 9 
第2列小时1~2 3(0表示子夜) 
第3列日1~3 1 
第4列月1~1 2 
第5列星期0~6(0表示星期天) 
第6列要运行的命令 

OK! 完结!!!

文章引用:

http://www.cnblogs.com/itech/archive/2009/08/10/1542945.html 

点击打开链接
























<think>首先,用户的问题是:“我想了解如何使用rsync实现服务器客户端的上行同步请问rsync上行同步配置方法服务器客户端”。根据指令,我需要参考提供的引用内容来回答。引用内容摘要:-[^1]:讨论了rsync的基本概念、特性、同步方式和备份过程,包括下行同步的配置。-[^2]:强调了rsync作为快速增量备份工具,用于数据备份,包括完全和增量备份。-[^3]:涉及rsync的配置更改,如关闭只读模式以便上行同步,以及权限设置。-[^4]:详细解析了rsync配置文件(/etc/rsyncd.conf),包括uid、gid、端口、权限等选项。-[^5]:描述了rsync上行同步的触发式脚本配置,包括本机检测目录变化并上传到服务器。关键点:用户问的是上行同步,其中“服务器客户端的上行同步”。在引用[^3]和[^5]中,明确提到了上行同步。引用[^1]区分了下行同步服务器同步客户端)和上行同步客户端上传到服务器)。上行同步通常指从客户端推送到服务器。用户问“服务器客户端的上行同步”,这可能是个误解。通常:-下行同步(Downstream):从服务器同步客户端客户端拉取)。-上行同步(Upstream):从客户端同步服务器客户端推送)。在引用[^3]中,它提到了“上行下行同步”,并具体说“上行同步需要可以写”,意思是上传文件需要服务器可写。引用[^5]讨论的是“上行同步”,即本机(客户端)到服务器。用户说“服务器客户端的上行同步”,这听起来像从服务器客户端同步,但上行同步通常不是这样。我需要澄清:在上下文中,上行同步可能是指客户端上传到服务器。参考引用[^5]:“触发式上行同步”,描述为本机检测变动上传到服务器。在我的回答中,我应该纠正或澄清术语:-“上行同步”通常指客户端推送数据服务器。-用户可能意指客户端上传数据服务器。用户问题:"如何使用rsync实现服务器客户端的上行同步"。结合引用,我理解为“客户端服务器的上行同步”。回答结构:-必须使用系统级指令:行内数学表达式用$...$,独立公式用$$...$$(可能不适用这里),LaTeX语法正确。-使用中文回答。-生成相关问题。-引用的段落末尾添加引用标识[^数字]。回答思路:1.**解释上行同步**:澄清什么是上行同步。2.**配置方法**:基于引用,覆盖配置步骤。-参考[^3]:修改rsync配置文件(/etc/rsyncd.conf),如设置readonly=no。-参考[^4]:配置文件细节,如uid,gid,permissions,authusers.-参考[^5]:配置实时同步,使用inotify工具和脚本。3.**详细步骤**:列出清晰的步骤。-服务器端配置。-客户端配置。-实时同步设置(可选)。4.**添加引用**:在相关部分添加[^数字]。5.**生成相关问题**:在末尾添加§§相关问题§§部分。步骤大纲:1.**介绍上行同步**:-解释上行同步的概念。-基于引用[^3][^5],上行同步允许客户端上传数据服务器。2.**配置步骤**:-**服务器端配置**:-安装rsync服务器上安装rsync。-编辑配置文件/etc/rsyncd.conf:确保readonly=no,以允许写入。-设置权限和认证:基于[^4],配置uid,gid,authusers,secretsfile。-启动rsync守护进程:参考[^3],杀死进程并重新启动。-**客户端配置**:-使用rsync命令同步文件到服务器。-对于实时同步:配置inotify工具和脚本(参考[^5])。3.**实时同步设置**:-使用inotify机制监控目录变化。-编写脚本触发rsync同步。4.**验证效果**:检查是否同步成功。添加引用:-例如,提到关闭只读时加[^3]。-提到认证和配置文件时加[^4]。-提到实时同步时加[^5]。生成相关问题:-基于主题,如如何优化rsync同步?如何设置认证安全?等。最终回答结构:-清晰开头解释。-详细步骤分点。-必要时使用代码块。-结尾添加相关问题。</think> ### 使用rsync实现上行同步服务器客户端)的配置方法 在rsync中,“上行同步”通常指从**客户端推送到服务器**的数据同步过程。用户问题中提到“服务器客户端的上行同步”,这可能是一个术语混淆:在rsync上下文中,上行同步(Upstream Sync)标准含义是**客户端主动上传数据服务器**(即从客户端服务器)。下行同步(Downstream Sync)则是服务器推送数据客户端。基于您的描述和提供的引用[^3][^5],我将解释如何配置客户端服务器的上行同步,并覆盖完整步骤。 #### 1. **上行同步基本概念** - rsync上行同步允许**客户端(发送端)将文件推送到服务器(接收端)**,支持增量备份,有效减少带宽占用。 - 关键点: - **客户端**:发起同步请求的机器(如本地服务器或PC)。 - **服务器**:接收文件的远程机器(通常称为“同步服务器”)。 - 上行同步需要**服务器端允许写入权限**(read only = no),以便客户端能上传数据[^3]。 - 优势:高效处理增量文件同步,适用于数据备份和实时同步场景[^2]。 - **适用场景**:例如,客户端定期上传日志文件到服务器备份或服务器共享目录[^5]。 #### 2. **配置步骤:服务器端设置** 服务器是接收数据的源,配置需确保rsync守护进程(daemon)运行,并开放写入权限。以下是详细步骤(基于引用[^3][^4])。 1. **安装rsync守护进程** 在服务器上安装rsync(如果未安装): ```bash sudo apt install rsync # Debian/Ubuntu系统 sudo yum install rsync # CentOS/RHEL系统 ``` 2. **编辑rsync配置文件(/etc/rsyncd.conf)** 修改配置文件以启用上行同步: - 设置 `read only = no` 允许客户端写入。 - 添加用户认证信息保证安全。 - 示例配置(引用[^4][^3]): ```bash # /etc/rsyncd.conf 文件内容 uid = rsync # 运行进程的用户,应服务器目录权限一致 gid = rsync # 运行进程的用户组 address = 192.168.116.60 # 服务器IP地址,替换为您的IP port = 873 # rsync默认端口 log file = /var/log/rsyncd.log # 日志文件 pid file = /var/run/rsyncd.pid # PID文件 [uploads] # 共享模块名称 path = /var/www/html # 服务器接收数据的目录 comment = Upload Directory # 模块描述 read only = no # 允许上行同步(写权限) auth users = rsyncuser # 认证用户名 secrets file = /etc/rsyncd_users.db # 存放用户密码的文件路径 hosts allow = 192.168.0.0/24 # 允许访问的客户端IP段 list = false # 禁止列出模块信息 ignore errors # 忽略错误 ``` - **重要设置**: - `read only = no` 是上行同步的核心,否则客户端无法上传[^3]。 - `auth users` 和 `secrets file` 提供基本认证。 - `hosts allow` 限制访问IP,提升安全性。 3. **创建认证文件和设置目录权限** - 生成密码文件 `/etc/rsyncd_users.db`: ```bash echo "rsyncuser:your_password" | sudo tee /etc/rsyncd_users.db sudo chmod 600 /etc/rsyncd_users.db # 确保权限安全 ``` - 创建数据目录并设置权限: ```bash sudo mkdir -p /var/www/html sudo chown rsync:rsync /var/www/html sudo chmod 777 /var/www/html # 简化测试用,生产环境应限制更严格 ``` 4. **启动或重启rsync守护进程** - 停止旧进程并启动新服务: ```bash sudo kill `cat /var/run/rsyncd.pid` 2>/dev/null # 安全停止 sudo rsync --daemon --config=/etc/rsyncd.conf # 启动守护进程 sudo systemctl start rsync # 或使用systemd管理 ``` - 验证进程是否运行: ```bash sudo netstat -natp | grep rsync ``` #### 3. **配置步骤:客户端设置** 客户端是发起推送的机器,只需安装rsync工具,并使用命令或脚本发起同步。 1. **安装rsync** 在客户端安装rsync(类似服务器端)。 2. **简单手动同步测试** 使用 `rsync` 命令推送文件到服务器: ```bash rsync -avz --delete /path/to/source/ rsyncuser@192.168.116.60::uploads/ ``` - **命令参数解释**: - `-a`: 归档模式,保留文件属性。 - `-v`: 详细输出。 - `-z`: 压缩传输减少带宽。 - `--delete`: 删除服务器上源端已删除的文件。 - `rsyncuser@192.168.116.60::uploads/`: `uploads`是服务器配置的模块名。 - 首次运行时,提示输入密码(从 `/etc/rsyncd_users.db` 中定义的密码)。 3. **配置实时同步(可选,推荐)** 手动同步是定期方式,但对于实时上传,可以使用 `inotify` 监控目录变化并触发同步(引用[^5])。 - **安装inotify-tools**(在客户端): ```bash sudo apt install inotify-tools # Debian/Ubuntu sudo yum install inotify-tools # CentOS/RHEL ``` - **调整内核参数**(优化inotify): ```bash echo "fs.inotify.max_user_watches = 100000" | sudo tee -a /etc/sysctl.conf sudo sysctl -p # 应用修改 ``` - **编写触发式同步脚本**(例如 `/opt/inotify.sh`): ```bash #!/bin/bash # 监控客户端目录,发生变化时触发rsync上传 MON_DIR="/opt/source/" # 客户端待上传目录 DEST="rsyncuser@192.168.116.60::uploads/" inotifywait -mrq -e modify,create,delete,move --format '%w%f' "$MON_DIR" | while read FILE do rsync -az --delete "$MON_DIR" "$DEST" echo "同步完成 at $(date)" >> /var/log/inotify.log # 可选日志 done ``` - 脚本说明: - `inotifywait` 监控目录变化事件(如创建、修改、删除)。 - 检测到变化后,运行rsync命令上传文件。 - 基于引用[^5]的示例,确保日志记录方便调试。 - **设置脚本运行**: ```bash chmod +x /opt/inotify.sh nohup /opt/inotify.sh & # 后台运行 ``` #### 4. **验证效果** - **服务器端**: - 检查上传目录 `/var/www/html`:文件应客户端源目录内容一致。 - 查看rsync日志 `/var/log/rsyncd.log`:出现同步记录表示成功[^3]。 - **客户端**: - 修改 `/opt/source/` 目录(例如添加或删除文件)。 - 运行测试命令:`rsync -avz --dry-run /opt/source/ rsyncuser@192.168.116.60::uploads/`(无--dry-run参数以实际运行)。 - 查看脚本日志:`tail -f /var/log/inotify.log`。 - 故障排除: - 权限错误:检查服务器端目录权限和 `uid/gid` 设置。 - 认证失败:确保 `/etc/rsyncd_users.db` 密码正确且客户端命令使用相同用户名。 #### 5. **安全优化建议** - **安全**:始终使用 `--password-file` 参数避免明文密码(如 `rsync -avz --password-file=/path/to/passfile source/ dest/`),并限制 `hosts allow`[^4]。 - **性能**:增量同步自动处理变化文件;大文件删除参考引用[^1],可先清空目录。 - **生产环境**:定期同步可用cron job定时运行脚本;实时同步用 `inotify` 确保低延迟[^5]。 此配置基于rsync的可靠性增量备份特性,适用于企业级数据备份。 [^1]: rsync同步方式备份过程覆盖了上行下行的概念,包括权限管理。 [^2]: rsync作为高效工具,支持本地和远程数据同步。 [^3]: rsync配置文件中read only = no是上行同步的关键。 [^4]: rsync配置文件详细解析,包括权限、认证和安全设置。 [^5]: 实时上行同步通过inotify机制触发,提升了同步效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值