Linux Rsync命令的使用方法以及应用场景

2023-10-23 09:23:12 浏览数 (2)

Github:https://github.com/WayneD/rsync

Rsync

Rsync(Remote Sync)是一个用于文件同步和备份的开源工具。它可以在本地系统之间或本地系统与远程系统之间同步文件和目录。

1.安装

在大多数常见的Linux发行版中,都没有默认安装rsync。

代码语言:javascript复制
sudo apt-get install rsync
sudo yum install rsync

2.使用场景

一些常见的使用场景包括:

  1. 文件备份:rsync可以用于定期备份文件和目录,只传输修改过的文件,节省带宽和存储空间。
  2. 文件同步:rsync可以用于将文件从一个位置同步到另一个位置,确保两个位置的文件保持一致。
  3. 远程备份:rsync可以通过SSH协议在本地和远程系统之间进行文件备份和同步。
  4. 文件发布: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

0 人点赞