📜  rsync 示例 (1)

📅  最后修改于: 2023-12-03 14:47:08.162000             🧑  作者: Mango

rsync 示例

rsync 是一个常用的文件传输和备份工具,它可以在本地、远程和主机之间同步和备份文件,并且可以更好地使用带宽和资源。

安装

rsync 在大多数 Unix 和 Linux 发行版中默认安装,如果没有安装,可以使用以下命令进行安装。

  • Ubuntu/Debian
sudo apt-get install rsync
  • CentOS/RHEL
sudo yum install rsync
基本用法

以下是 rsync 的基本用法示例:

rsync [OPTION...] SRC DEST

其中 SRC 是要同步或备份的源文件或目录,DEST 是要同步到的目标文件或目录。

同步本地文件夹

下面这个示例演示如何同步两个文件夹:

rsync -av /path/to/source /path/to/destination
  • -a 表示以归档模式同步文件夹,包括文件的所有元数据(例如所有者、用户组、权限等)。
  • -v 表示详细输出同步过程中的进度和信息。
同步远程文件夹

下面这个示例展示如何同步来自远程主机的文件夹:

rsync -av user@remote_host:/path/to/source /path/to/destination

其中 user 是远程主机的用户名,remote_host 是远程主机的 IP 地址或主机名。

排除特定文件或目录

在某些情况下,您可能希望在同步或备份时排除特定文件或目录。您可以使用 --exclude 参数来实现这一点。以下是一个实例:

rsync -av --exclude 'logs' /path/to/source /path/to/destination

这将从同步中排除名为 'logs' 的目录或文件。

高级用法

以下是 rsync 更高级用法示例:

同步时仅更新更改的文件

在同步大型文件夹时,您可能希望仅同步修改过的文件,而不是全部文件。您可以使用 --update-u 参数实现这一点。

rsync -auv /path/to/source /path/to/destination
  • -u--update 表示仅更新已更改的文件。
在同步时删除目标文件夹中不存在的文件

如果您想要在同步时删除目标文件夹中不存在的文件,使用 --delete 参数。

rsync -av --delete /path/to/source /path/to/destination
  • --delete 表示在同步时删除目标文件夹中不存在的文件。
同步时忽略文件权限和所有权

如果您想要在同步时忽略文件权限和所有权,使用 --no-perms--no-owner-group 参数。

rsync -av --no-perms --no-owner-group /path/to/source /path/to/destination
  • --no-perms 表示同步时不复制文件权限。
  • --no-owner-group 表示同步时不复制所有者和用户组信息。
同步时压缩传输

如果您想要在同步时压缩传输以节省带宽和传输时间,使用 -z 参数。

rsync -avz /path/to/source user@remote_host:/path/to/destination
  • -z 表示在传输期间启用压缩。
结论

rsync 是一个功能强大的文件传输和备份工具,它提供了很多有用的选项和参数,可以帮助您使用网络和资源更有效地同步和备份文件。我们希望这篇文章能够为您提供更好地了解和使用 rsync 的知识。