在Linux中,使用rsync同步数据时,假如采用的是ssh方式,并且目标机器的sshd端端并不是默认的22端口,该如何做?

简介: 在Linux中,使用rsync同步数据时,假如采用的是ssh方式,并且目标机器的sshd端端并不是默认的22端口,该如何做?

在使用rsync通过SSH进行数据同步时,如果目标机器的SSH服务没有运行在默认的22端口上,你需要指定SSH连接应该使用的端口。这可以通过-e选项来实现,后面跟上ssh命令和-p参数来指定端口号。

以下是使用非默认端口的SSH进行rsync同步的基本命令格式:

rsync -avz -e "ssh -p <port>" <source> <user>@<host>:<destination>

这里的参数解释如下:

  • -a:代表--archive,它使得rsync同步时保持原有文件的属性,如权限、时间戳等。
  • -v:代表--verbose,它使得rsync在同步过程中提供详细的输出信息。
  • -z:代表--compress,它在传输过程中压缩数据,以减少传输的数据量。
  • -e:允许你指定一个命令来创建到远程主机的安全连接。在这个例子中,我们使用ssh
  • -p <port>:指定SSH连接应该使用的端口号。
  • <source>:源文件或目录的路径。
  • <user>:目标机器上的用户名。
  • <host>:目标机器的主机名或IP地址。
  • <destination>:目标文件或目录的路径。

例如,如果目标机器的SSH服务运行在端口2222上,你可以使用以下命令:

rsync -avz -e "ssh -p 2222" /path/to/source/ user@example.com:/path/to/destination/

在这个例子中,/path/to/source/是本地要同步的源目录,user@example.com是目标机器的用户名和地址,/path/to/destination/是目标目录,而-p 2222指定了使用端口2222

此外,如果你经常需要使用非默认端口进行同步,可以将这个端口号配置在~/.ssh/config文件中,这样你就不需要在每次使用rsync时都指定端口号。配置文件示例如下:

Host myserver
    HostName example.com
    User myuser
    Port 2222

在这个配置中,Host myserver是一个别名,你可以在rsync命令中使用它来代替完整的主机名和端口信息:

rsync -avz -e "ssh -p 2222" /path/to/source/ myserver:/path/to/destination/

综上所述,你就不需要在每次命令中都指定端口号,因为SSH客户端会从配置文件中读取端口信息。

综上所述,请确保在使用这些命令之前,你已经正确配置了SSH密钥或密码认证,以便rsync能够无障碍地通过SSH连接到远程主机。

相关文章
|
8月前
|
数据管理 Linux iOS开发
Splunk Enterprise 9.4.5 (macOS, Linux, Windows) - 机器数据管理和分析
Splunk Enterprise 9.4.5 (macOS, Linux, Windows) - 机器数据管理和分析
295 0
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
566 28
|
数据管理 Linux iOS开发
Splunk Enterprise 9.4.1 (macOS, Linux, Windows) 发布 - 机器数据管理和分析
Splunk Enterprise 9.4.1 (macOS, Linux, Windows) 发布 - 机器数据管理和分析
359 0
Splunk Enterprise 9.4.1 (macOS, Linux, Windows) 发布 - 机器数据管理和分析
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
484 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
弹性计算 Linux 数据库
阿里云国际版如何迁移Linux云服务器系统盘中的数据
阿里云国际版如何迁移Linux云服务器系统盘中的数据
|
Linux 开发工具
linux下使用gcp拷贝数据的时候显示进度条
linux下使用gcp拷贝数据的时候显示进度条
287 3
|
Linux Perl
在Linux中,系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?
在Linux中,系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?
|
Linux Shell 网络安全
在Linux中,rsync同步时,如何删除目标数据多出来的数据,即源上不存在,但目标却存在的文件或者目录?
在Linux中,rsync同步时,如何删除目标数据多出来的数据,即源上不存在,但目标却存在的文件或者目录?
在Linux中,rsync同步数据时,如果目标⽂件比源⽂件还新,则忽略该文件,如何做?
在Linux中,rsync同步数据时,如果目标⽂件比源⽂件还新,则忽略该文件,如何做?
在Linux中,rsync 同步数据时,如何过滤出所有.txt的文件不同步?
在Linux中,rsync 同步数据时,如何过滤出所有.txt的文件不同步?