使用rsync备份数据具体方法

rsync是一款实现远程同步功能的软件,在同步文件的同时,可以保持原来文件的权限,时间,软硬链接等附加信息。Rsync是使用rsync算法提供一个客户机和远程文件服务器的文件同步的快速算法,而且可以同步ssh的方式来传输,本篇文章将重点讲解一下使用rsync备份数据具体方法。

在Centos中使用下面命令安装rsync:

[root@localhost ~]# yum -y install rsync

实例一:本机中的两个目录进行同步

要同步本地计算机中的两个目录,使用rsync -zvr命令:

[root@localhost ~]# rsync -zvr /var/log/ /root/temp/
sending incremental file list
btmp
dnf.librepo.log
...
sssd/sssd_implicit_files.log
sssd/sssd_nss.log
tuned/tuned.log

sent 516,136 bytes  received 605 bytes  1,033,482.00 bytes/sec
total size is 5,451,242  speedup is 10.55

参数解释:

  • -z 启用压缩
  • -v 输出详细信息
  • -r 表示递归

查看一下/root/temp目录,发现rsync在同步期间未保留时间戳。

实例二:使用rsync -a在同步期间保留时间戳

rsync命令的-a选项表示存档模式。-a选项递归同步、保留符号链接、保留权限、保留时间戳、保留所有者和组。

现在,执行以下命令,然后查看文件的时间:

[root@localhost ~]# rsync -azv /var/log/ /root/temp/
sending incremental file list
./
btmp
dnf.librepo.log
dnf.log
dnf.rpm.log
...
sssd/sssd_nss.log
tuned/
tuned/tuned.log

sent 516,231 bytes  received 629 bytes  1,033,720.00 bytes/sec
total size is 5,451,789  speedup is 10.55

如下所示,rsync在同步期间保留了时间戳。

实例三:将文件从本地同步到远程目录

rsync允许在本地和远程系统之间同步文件/目录,前提是本地和远程系统都要安装rsync才行,否则会提示如下信息:

[root@localhost ~]# rsync -avz /root/temp/ [email protected]:/root/temp[email protected]'s password: sending incremental file list created directory /root/temp ./ btmp dnf.librepo.log dnf.log dnf.rpm.log ... sssd/sssd_nss.log tuned/ tuned/tuned.log sent 516,231 bytes  received 662 bytes  206,757.20 bytes/sec total size is 5,451,789  speedup is 10.55 

下面是在远程系统里面查看已同步的目录: 上面可以看到同步时需要输入密码,有时候不希望将文件从本地服务器备份到远程服务器时输入密码,可以在两台主机间设置免密要登录。

实例四:将文件从远程目录同步到本地

要将文件从远程系统同步到本地时,如下所示,在源中指定远程路径,在目标中指定本地路径即可:

[root@localhost ~]# rsync -avz [email protected]:/root/temp /root/temp[email protected]'s password: receiving incremental file list temp/ temp/btmp temp/dnf.librepo.log temp/dnf.log ... temp/tuned/ temp/tuned/tuned.log sent 634 bytes  received 516,247 bytes  206,752.40 bytes/sec total size is 5,451,789  speedup is 10.55 

Linux中rsync备份数据使用实例Linux中rsync备份数据使用实例

实例五:不要覆盖目标位置上已修改的文件

如果在目标位置修改了文件,我们可能不想用源位置的旧文件覆盖该文件。使用-u选项就可以做到这一点。在下面的示例中,在本地将test.txt文件修改了内容。它不会被远程系统的test.txt文件所覆盖:

# 查看一下远程系统temp目录下的test.txt文件大小
[root@localhost ~]# ssh [email protected] ls -l /root/temp[email protected]'s password: total 4 -rw-r--r--. 1 root root 7 Apr  7  2021 test.txt # 查看一下本机的temp目录下的test.txt文件大小,本机的test.txt文件已修改,所以比远程系统里面的test.txt文件大 [root@localhost ~]# ll /root/temp/ total 4 -rw-r--r--. 1 root root 77 Apr  7 21:10 test.txt # 执行rsync -avzu同步一下 [root@localhost ~]# rsync -avzu [email protected]:/root/temp /root/ [email protected]'s password:
receiving incremental file list

sent 25 bytes  received 76 bytes  40.40 bytes/sec
total size is 7  speedup is 0.07

下面查看一下本机的/root/temp目录里面的test.txt是否被覆盖: 发现并没有被覆盖。

实例六:在传输过程中查看rsync进度

使用--progress选项显示rsync执行的详细进度,如下所示:

[root@localhost ~]# rsync -avz --progress /root/temp/ [email protected]:/root/temp

Linux中rsync备份数据使用实例Linux中rsync备份数据使用实例

实例七:在目标目录中删除源目录不存在的文件

如果文件不在源中而是在目标中存在,则可能希望在rsync同步期间删除目标上的文件。在这种情况下,请使用--delete选项:

# 查看一下源目录里面的文件
[root@localhost ~]# ll /root/temp/
total 0
-rw-r--r--. 1 root root 0 Apr  7 21:46 name.csv
# 查看一下目标目录里面的文件
[root@localhost ~]# ssh [email protected] ls -l /root/temp[email protected]'s password: total 944 drwxr-xr-x. 2 root root      6 Apr  7  2021 anaconda drwx------. 2 root root      6 Apr  7  2021 audit -rw-------. 1 root root      0 Apr  7  2021 btmp -rw-------. 1 root root      0 Apr  7  2021 btmp-20210406 drwxr-xr-x. 2 root root      6 Apr  7  2021 chrony -rw-------. 1 root root   8432 Apr  7  2021 cron -rw-------. 1 root root  12200 Apr  7  2021 cron-20210221 -rw-------. 1 root root  48130 Apr  7  2021 cron-20210228 -rw-------. 1 root root   3910 Apr  7  2021 cron-20210308 -rw-------. 1 root root  22455 Apr  7  2021 cron-20210406 -rw-------. 1 root root 383369 Apr  7  2021 dnf.librepo.log -rw-------. 1 root root 476949 Apr  7  2021 dnf.librepo.log-20210221 # rsync使用--delete选项删除目标目录中不包含源目录的文件 [root@localhost ~]# rsync -avz --delete /root/temp [email protected]:/root [email protected]'s password:
sending incremental file list
deleting temp/chrony/
deleting temp/audit/
deleting temp/anaconda/
deleting temp/dnf.librepo.log-20210221
deleting temp/dnf.librepo.log
deleting temp/cron-20210406
deleting temp/cron-20210308
deleting temp/cron-20210228
deleting temp/cron-20210221
deleting temp/cron
deleting temp/btmp-20210406
deleting temp/btmp
temp/
temp/name.csv

sent 123 bytes  received 281 bytes  161.60 bytes/sec
total size is 0  speedup is 0.00

在查看一下目标目录是否删除:

实例八:文件传输过程中的include和exclude模式

rsync允许在进行同步时提供要包括和排除文件或目录的模式。

[root@localhost ~]# rsync -avz --include 'P*' --exclude '*' [email protected]:/var/lib/rpm/ /root/temp/

在上面的示例中,它仅包括以’P’开头的文件或目录,并排除所有其他文件。

实例九:不传输大文件

可以使用rsync --max-size选项告诉rsync不要传输大于指定大小的文件。

[root@localhost ~]# rsync -avz --max-size='1M' [email protected]:/var/lib/rpm/ /root/temp/

--max-size=1M使rsync仅传输小于或等于1M的文件。单位可以是K,M,G等。

还可以使用--min-size=参数,指定传输最小文件的大小。

总结

rsync工具用于将文件和目录从一个位置同步到另一个位置。同步的位置可以在本地服务器或远程服务器上。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/220979.html<

(0)
管理的头像管理
上一篇2025-04-14 19:57
下一篇 2025-04-14 19:58

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

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