Linux 下 Rsync 文件同步与增量备份

By | 最新修改:2025-11-11

前言

什么是 Rsync

Rsync ,Remote Synchronous,“远程同步”的意思,是一款开源自由的 Linux 文件传输软件,通常用作为增量备份的工具。它 可以本地与本地不同目录间互相同步,也可以本地与远程服务器端进行文件同步,更可以远程对远程进行文件增量备份

这里的同步不是实时同步,要想实时,那么要用到其他工具与之协同。

Rsync 还可以配合 inotify、sersync 和 Crontab 进行实时、定时或时间间隔式的文件同步

为什么要同步文件

由于作者要在本地 Ubuntu 系统开发 WordPress 插件,然后将代码同步到服务器端的 PHP-FPM 和 Nginx 执行。

为什么是 Rsync

用 SCP 来传输不太方便,不仅没有提供增量备份,并且 Rsync 可以设置指定传输过来的文件属主和属组,毕竟 Nginx 需要读写其站点目录,这些都是 SCP 没有的。

经过一番百度,就接触到 Rsync ,发现 Rsync 的功能比较让作者满意。

本文的主要内容和写作目的

本文介绍 如何配置 Rsync 服务器端、(远程)目录权限,以及本地与服务器同步的参数配置

作者写下这篇文章的目的在于让读者避免踩坑。 Rsync 这个软件就这么简单,就是这么配置和使用的,并没有多复杂和可怕,这是作者这两天踩坑踩出来的感悟。

所需要的依赖:

服务器端:CentOS 7 X64

客户机:Ubuntu 20.04 LTS+ 版本

Rsync 的服务器与客户端

本文对 CentOS 的操作都是以 root 的身份

如果用其他的一般系统用户,请用 sudo 命令提权


客户端和服务端安装 Rsync

接下来的每个操作系统第一行命令安装 Rsync 的客户端,第二行安装服务端。

如果仅有一行命令,则表示客户端和服务端都是通过这行命令安装。

本文将介绍在 CentOS 7、CentOS Stream、RHEL / RockyLinux、Ubuntu 和 Arch Linux 上安装 Rsync 的客户端和服务端。

后记

长篇大论终于到了最后面。

这里就提醒一下,修改完服务器端的配置文件,记得重启一下守护进程,如用到 SystemD,那就使用 systemctl restart rsyncd 命令来重启。

经过上述方式重启后,即使一些配置有错误,也不会影响它重启,更不会显示在 systemctl status -l rsyncd 命令执行后的结果中。

所以,如果要验证重启进程是否成功,可以在客户端尝试执行一次本地到远程的同步命令。

后面作者可能还会继续探索一下 rsync 的参数选项,以及来一篇关于通过 InotifyWait 在 Ubuntu 下进行实时文件的备份和传输。

各位看官,回头见!


程序知路

鉴于本人的相关知识储备以及能力有限,本博客的观点和描述如有错漏或是有考虑不周到的地方还请多多包涵,欢迎互相探讨,一起学习,共同进步。

本文章可以转载,但是需要说明来源出处!

本文使用的部分图片来源于网上,若是侵权,请与本文作者联系删除: admin@icxzl.com