Linux rsync 如何进行多服务器同步 增量复制

要进行增量复制,只复制产生修改的文件,可以使用rsync命令。rsync命令是一个强大的工具,可以在本地或远程系统之间同步文件和目录,并且可以仅复制修改的文件,从而实现增量复制。 以下是rsync命令的基本语法:

rsync [选项] [源目录或文件] [目标目录或文件]

要使用rsync进行增量复制,请使用-u选项。-u选项仅复制源目录或文件中比目标目录或文件更新的文件。例如,以下命令将本地/path/to/local/directory目录及其子目录中的所有更新文件复制到远程服务器的/path/to/remote/directory目录中:

rsync -avu /path/to/local/directory [email protected]:/path/to/remote/directory

在此命令中,-a选项表示递归复制并保持文件属性,-v选项表示详细输出。-u选项表示仅复制源目录或文件中比目标目录或文件更新的文件。 请注意,您需要提供目标服务器的用户名和密码或使用SSH密钥进行身份验证。此外,默认情况下,rsync将不会删除目标目录中不再存在于源目录中的文件。如果您希望删除这些文件,请使用--delete选项。

要进行多服务器同步,可以使用rsync命令和SSH。rsync命令可以在多个本地或远程系统之间同步文件和目录,并且可以通过SSH协议进行安全传输。 以下是rsync命令在多个服务器之间同步文件和目录的基本语法:

rsync [选项] [源目录或文件] [目标服务器:目标目录或文件]

在此命令中,源目录或文件是要同步的本地目录或文件路径,目标服务器是目标服务器的主机名或IP地址,目标目录或文件是目标服务器上的目录或文件路径。 例如,以下命令将本地/path/to/local/directory目录及其子目录中的所有文件复制到两个远程服务器的/path/to/remote/directory目录中:

rsync -avz /path/to/local/directory [email protected]:/path/to/remote/directory
rsync -avz /path/to/local/directory [email protected]:/path/to/remote/directory

在此命令中,-a选项表示递归复制并保持文件属性,-v选项表示详细输出,-z选项表示启用压缩传输以提高速度。 请注意,您需要提供目标服务器的用户名和密码或使用SSH密钥进行身份验证。如果您需要在多个远程服务器之间同步文件和目录,并且这些服务器之间可以直接通信,则可以将多个目标服务器的主机名或IP地址指定为目标地址。例如:

rsync -avz /path/to/local/directory [email protected]:/path/to/remote/directory [email protected]:/path/to/remote/directory

在此命令中,rsync命令将同时同步/path/to/local/directory目录到remote.server1remote.server2服务器的/path/to/remote/directory目录中。

要进行不包括隐藏文件的增量复制,可以使用rsync命令,并使用--exclude选项来排除隐藏文件。 以下是rsync命令不包括隐藏文件的增量复制的基本语法:

rsync [选项] [源目录或文件] [目标目录或文件] --exclude='.*'

在此命令中,--exclude='.*'选项表示排除以.开头的文件或目录,也就是隐藏文件或目录。 例如,以下命令将本地/path/to/local/directory目录及其子目录中的所有更新文件复制到远程服务器的/path/to/remote/directory目录中,同时排除隐藏文件或目录:

rsync -avzu --exclude='.*' /path/to/local/directory [email protected]:/path/to/remote/directory

在此命令中,-a选项表示递归复制并保持文件属性,-v选项表示详细输出,-z选项表示启用压缩传输以提高速度,-u选项表示仅复制源目录或文件中比目标目录或文件更新的文件。 请注意,您需要提供目标服务器的用户名和密码或使用SSH密钥进行身份验证。

你可能感兴趣的:(Linux精通,服务器,linux,运维,bash,ssh)