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
表示显示进度条。最后的/
表示同步文件夹中的内容,而不是整个文件夹本身。