如何使用rsync备份数据(rsync,开发技术)

时间:2024-05-04 20:10:36 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

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

如何使用rsync备份数据

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

[root@localhost~]#yum-yinstallrsync

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

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

[root@localhost~]#rsync-zvr/var/log//root/temp/sendingincrementalfilelistbtmpdnf.librepo.log...sssd/sssd_implicit_files.logsssd/sssd_nss.logtuned/tuned.logsent516,136bytesreceived605bytes1,033,482.00bytes/sectotalsizeis5,451,242speedupis10.55

参数解释:

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

查看一下/root/temp目录,发现rsync在同步期间未保留时间戳。 如何使用rsync备份数据

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

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

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

[root@localhost~]#rsync-azv/var/log//root/temp/sendingincrementalfilelist./btmpdnf.librepo.logdnf.logdnf.rpm.log...sssd/sssd_nss.logtuned/tuned/tuned.logsent516,231bytesreceived629bytes1,033,720.00bytes/sectotalsizeis5,451,789speedupis10.55

如下所示,rsync在同步期间保留了时间戳。 如何使用rsync备份数据

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

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

[root@localhost~]#rsync-avz/root/temp/root@192.168.43.137:/root/temproot@192.168.43.137'spassword:sendingincrementalfilelistcreateddirectory/root/temp./btmpdnf.librepo.logdnf.logdnf.rpm.log...sssd/sssd_nss.logtuned/tuned/tuned.logsent516,231bytesreceived662bytes206,757.20bytes/sectotalsizeis5,451,789speedupis10.55

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

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

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

[root@localhost~]#rsync-avzroot@192.168.43.137:/root/temp/root/temproot@192.168.43.137'spassword:receivingincrementalfilelisttemp/temp/btmptemp/dnf.librepo.logtemp/dnf.log...temp/tuned/temp/tuned/tuned.logsent634bytesreceived516,247bytes206,752.40bytes/sectotalsizeis5,451,789speedupis10.55
如何使用rsync备份数据
Linux中rsync备份数据使用实例Linux中rsync备份数据使用实例

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

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

#查看一下远程系统temp目录下的test.txt文件大小[root@localhost~]#sshroot@192.168.43.137ls-l/root/temproot@192.168.43.137'spassword:total4-rw-r--r--.1rootroot7Apr72021test.txt#查看一下本机的temp目录下的test.txt文件大小,本机的test.txt文件已修改,所以比远程系统里面的test.txt文件大[root@localhost~]#ll/root/temp/total4-rw-r--r--.1rootroot77Apr721:10test.txt#执行rsync-avzu同步一下[root@localhost~]#rsync-avzuroot@192.168.43.137:/root/temp/root/root@192.168.43.137'spassword:receivingincrementalfilelistsent25bytesreceived76bytes40.40bytes/sectotalsizeis7speedupis0.07

下面查看一下本机的/root/temp目录里面的test.txt是否被覆盖: 如何使用rsync备份数据 发现并没有被覆盖。

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

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

[root@localhost~]#rsync-avz--progress/root/temp/root@192.168.43.137:/root/temp
如何使用rsync备份数据
Linux中rsync备份数据使用实例Linux中rsync备份数据使用实例

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

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

#查看一下源目录里面的文件[root@localhost~]#ll/root/temp/total0-rw-r--r--.1rootroot0Apr721:46name.csv#查看一下目标目录里面的文件[root@localhost~]#sshroot@192.168.43.137ls-l/root/temproot@192.168.43.137'spassword:total944drwxr-xr-x.2rootroot6Apr72021anacondadrwx------.2rootroot6Apr72021audit-rw-------.1rootroot0Apr72021btmp-rw-------.1rootroot0Apr72021btmp-20210406drwxr-xr-x.2rootroot6Apr72021chrony-rw-------.1rootroot8432Apr72021cron-rw-------.1rootroot12200Apr72021cron-20210221-rw-------.1rootroot48130Apr72021cron-20210228-rw-------.1rootroot3910Apr72021cron-20210308-rw-------.1rootroot22455Apr72021cron-20210406-rw-------.1rootroot383369Apr72021dnf.librepo.log-rw-------.1rootroot476949Apr72021dnf.librepo.log-20210221#rsync使用--delete选项删除目标目录中不包含源目录的文件[root@localhost~]#rsync-avz--delete/root/temproot@192.168.43.137:/rootroot@192.168.43.137'spassword:sendingincrementalfilelistdeletingtemp/chrony/deletingtemp/audit/deletingtemp/anaconda/deletingtemp/dnf.librepo.log-20210221deletingtemp/dnf.librepo.logdeletingtemp/cron-20210406deletingtemp/cron-20210308deletingtemp/cron-20210228deletingtemp/cron-20210221deletingtemp/crondeletingtemp/btmp-20210406deletingtemp/btmptemp/temp/name.csvsent123bytesreceived281bytes161.60bytes/sectotalsizeis0speedupis0.00

如何使用rsync备份数据 在查看一下目标目录是否删除: 如何使用rsync备份数据

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

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

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

如何使用rsync备份数据 在上面的示例中,它仅包括以’P’开头的文件或目录,并排除所有其他文件。

实例九:不传输大文件

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

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

如何使用rsync备份数据--max-size=1M使rsync仅传输小于或等于1M的文件。单位可以是K,M,G等。

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

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:如何使用rsync备份数据的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Hadoop分布式文件系统HDFS架构分析下一篇:

8 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18