分享最新优惠信息
购买主机更加划算

使用rsync命令同步新文件和已更改文件的简单方法

作为Linux高级用户或系统管理员,可能遇到过甚至多次使用过多功能的rsync命令,它使用户能够快速地在本地和远程复制或同步文件,同时也是一个广泛用于备份操作和镜像的出色工具。

rsync命令的一些突出特点和优势包括:它非常灵活,能够在本地复制文件,或通过远程shell或远程rsync进行复制;它允许用户指定任意数量的文件进行复制;此外,它还允许复制链接、设备、文件或目录所有者、组和权限;无需root权限即可使用。

与Linux中的其它文件传输命令相比,rsync的一个重要区别是它使用远程更新协议,仅传输文件或目录内容之间的差异。接下来小编将介绍如何使用rsync在Linux中仅同步新文件或已更改的文件或目录内容,从而进行备份和其他操作。

首先需要记住的是,使用rsync命令常规和最简单的形式如下:

rsync options source destination

话不多说,下面将深入研究一些例子来揭示上述概念实际上是如何运行的。

使用Rsync本地同步文件

使用以下命令,可以将文件从Documents目录复制到本地/tmp/documents目录:

rsync -av Documents/* /tmp/documents

在上面的命令中,选项功能如下所述:

  • -a:表示存档模式
  • -v:显示正在进行操作的详细信息

rsync本地同步文件

默认情况下,rsync仅将新的或更改的文件从源复制到目标,当将新文件添加到Documents目录中时,第二次运行相同命令后会发生以下情况:

rsync -av Documents/* /tmp/documents

rsync同步新的更新文件

正如可以从命令的输出中观察到并注意到的,只有新文件被复制到目标目录。

--update-u允选项允许rsync跳过目标目录中已经存在且较新的文件,还有一个重要选项--dry-run-n,使我们能够执行测试操作而不进行任何更改,它会显示哪些文件将被复制:

rsync -aunv Documents/* /tmp/documents

同步文件之前试运行Rsync

执行测试运行后,就可以省去-n并正式执行操作:

rsync -auv Documents/* /tmp/documents

Rsync同步更新的文件

将文件从本地同步到远程Linux

在下面的例子中,小编将文件从本地计算机复制到IP地址为10.42.1.5的远程服务器。为了仅同步本地计算机上面在远程机器上不存在的新文件,可以包含--ignore-existing选项:

rsync -av --ignore-existing Documents/* aaronkilik@10.42.1.5:~/all/

将本地文件同步到远程Linux

接下来,为了仅同步本地机器上已经更改的更新文件到远程机器,可以在复制文件之前执行一次预演操作:

rsync -av --dry-run --update Documents/* aaronkilik@10.42.1.5:~/all/
rsync -av --update Documents/* aaronkilik@10.42.1.5:~/all/

Sync检查更新文件

当然,为了更新现有文件并防止在目标中创建新文件,这里使用了--existing选项。

小结

以上就是使用rsync命令同步新的和更改的文件简单方法,当然你可以浏览man rsync页面以发现其它有用的高级用法选项,正如小编之前所说的,rsync是一个非常强大和多功能的Linux工具,许多系统管理员和Linux高级用户都知道它有多么有利。

未经允许不得转载:惠主机 » 使用rsync命令同步新文件和已更改文件的简单方法