Skip to content

rsync笔记

简介

sync是一种快速、灵活、可靠的文件同步和备份工具。它能够通过局域网、互联网等各种方式来同步文件,可以实现增量备份和部分文件同步,具有断点续传等特点。

rsync的优点是可以非常快速和可靠地同步大量的数据,在传输过程中会使用差异算法,只传输修改过的文件,而不是全部复制。这种增量同步方式可以大大节省传输时间和带宽,尤其在网络不稳定的情况下更是如此。

除了同步功能外,rsync还可以实现数据备份、远程数据同步、多机数据复制,并且可以在本地和远程系统之间进行同步。同时,rsync还支持加密传输、空闲带宽限制以及各种其他高级选项。

在golang开发中,有时会通过配置ssh key,并且在makefile中使用rsync将编译产出同步到服务器上。实现自动化部署。

使用

使用rsync命令的格式如下:

复制代码rsync [OPTION...] SRC... [DEST]

其中SRC表示源文件或源文件夹,DEST表示目的地文件或文件夹。rsync支持很多选项,你可以使用man rsync命令来查看完整的文档,这里介绍一些常用的选项:

  • -a--archive:以归档模式同步文件,包含文件权限、所有者、组、时间戳等信息。
  • -v--verbose:详细输出同步过程。
  • -z--compress:在传输文件时进行压缩,可以加快传输速度。
  • -h--human-readable:以可读的方式输出同步进程。
  • -P--progress:显示传输进度条。

例如,将本地文件夹/home/user/documents同步到远程主机IP地址为192.168.1.100的目录/home/backup/documents,可以使用以下命令:

shell
rsync -avzhP /home/user/documents/ user@192.168.1.100:/home/backup/documents/

其中,-a表示归档模式,-v表示详细输出,-z表示启用压缩,-h表示可读方式输出,-P表示显示进度条。最后的/表示同步文件夹中的内容,而不是整个文件夹本身。