Github:https://github.com/WayneD/rsync
Rsync
Rsync(Remote Sync)是一个用于文件同步和备份的开源工具。它可以在本地系统之间或本地系统与远程系统之间同步文件和目录。
1.安装
在大多数常见的Linux发行版中,都没有默认安装rsync。
代码语言:javascript复制sudo apt-get install rsync
sudo yum install rsync
2.使用场景
一些常见的使用场景包括:
- 文件备份:rsync可以用于定期备份文件和目录,只传输修改过的文件,节省带宽和存储空间。
- 文件同步:rsync可以用于将文件从一个位置同步到另一个位置,确保两个位置的文件保持一致。
- 远程备份:rsync可以通过SSH协议在本地和远程系统之间进行文件备份和同步。
- 文件发布:rsync可以用于将文件和目录发布到远程服务器,例如网站发布、软件发布等。
Rsync使用方法
rsync命令 是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
1.本地文件
将源目录同步到目标目录
代码语言:javascript复制$ rsync -r source destination
上面命令中,-r 表示递归,即包含子目录。注意,-r是必须的,否则 rsync 运行不会成功。source 目录表示源目录,destination 表示目标目录。
多个文件或目录同步
代码语言:javascript复制$ rsync -r source1 source2 destination
上面命令中,source1、source2 都会被同步到 destination 目录。
-a 参数可以替代 -r,除了可以递归同步以外,还可以同步元信息(比如修改时间、权限等)。由于 rsync 默认使用文件大小和修改时间决定文件是否需要更新,所以 -a 比 -r 更有用。下面的用法才是常见的写法。
代码语言:javascript复制$ rsync -a source destination
目标目录 destination 如果不存在,rsync 会自动创建。执行上面的命令后,源目录 source 被完整地复制到了目标目录 destination 下面,即形成了 destination/source 的目录结构。
如果只想同步源目录 source 里面的内容到目标目录 destination ,则需要在源目录后面加上斜杠。
代码语言:javascript复制$ rsync -a source/ destination
上面命令执行后,source 目录里面的内容,就都被复制到了 destination 目录里面,并不会在 destination 下面创建一个 source 子目录。
参考文章
https://wangchujiang.com/linux-command/c/rsync.html
2.命令选项
相关文档:https://wangchujiang.com/linux-command/c/rsync.html