3个方法实现服务器之间传输文件

我们在运维服务器的时候,经常需要用到在服务器与服务器之间,本地和服务器之间的数据文件传输。这里我们可以用到数据传输软件或者命令。一般我们可以通过下面三种方式实现服务器之间传输文件。

第一、FTP/SFTP

这些是文件传输协议,允许您使用客户端程序(例如 FileZilla 或 Cyberduck)在服务器之间传输文件。您需要在传输中涉及的一台或两台服务器上设置 FTP 或 SFTP 服务器,并且您需要拥有服务器的登录凭据才能连接。

第二、SCP

这是一个命令行工具,允许您使用 SSH 在服务器之间安全地传输文件。要使用scp,您需要对传输中涉及的服务器具有 SSH 访问权限。然后您可以使用该命令scp [source file] [username]@[destination server]:[destination file]传输文件。

下面是一些常用的SCP命令:

1、从本地复制文件到远程服务器:

scp <local_file> <username>@<remote_host>:<destination_path>

示例:将本地的file.txt文件拷贝到远程服务器上的/home/user/目录下:

scp file.txt username@remote_host:/home/user/

2、从远程服务器复制文件到本地:

scp <username>@<remote_host>:<remote_file> <local_destination>

示例:将远程服务器上的/home/user/file.txt文件复制到本地当前目录:

scp username@remote_host:/home/user/file.txt .

3、通过SCP复制整个目录:

scp -r <directory> <username>@<remote_host>:<destination_path>

示例:将本地的/path/to/directory目录及其内容复制到远程服务器上的/home/user/目录下:

scp -r /path/to/directory username@remote_host:/home/user/

4、指定SSH端口号进行传输:

scp -P <port_number> <file> <username>@<remote_host>:<destination_path>

示例:通过SSH端口号2222将本地的file.txt文件拷贝到远程服务器上的/home/user/目录下:

scp -P 2222 file.txt username@remote_host:/home/user/

第三、RSYNC

此命令行工具可让您有效地在服务器之间同步文件。rsync使用允许它只传输源文件和目标文件之间的差异的协议,这可以节省大量时间和带宽。

下面是一些常用的rsync命令:

1、从本地复制文件到远程服务器:

rsync <local_file> <username>@<remote_host>:<destination_path>

示例:将本地的file.txt文件拷贝到远程服务器上的/home/user/目录下:

rsync file.txt username@remote_host:/home/user/

2、从远程服务器复制文件到本地:

rsync <username>@<remote_host>:<remote_file> <local_destination>

示例:将远程服务器上的/home/user/file.txt文件复制到本地当前目录:

rsync username@remote_host:/home/user/file.txt .

3、通过rsync复制整个目录:

rsync -r <directory> <username>@<remote_host>:<destination_path>

示例:将本地的/path/to/directory目录及其内容复制到远程服务器上的/home/user/目录下:

rsync -r /path/to/directory username@remote_host:/home/user/

指定SSH端口号进行传输:

rsync -e 'ssh -p <port_number>' <file> <username>@<remote_host>:<destination_path>

示例:通过SSH端口号2222将本地的file.txt文件拷贝到远程服务器

投上你的一票

本文出处:老蒋部落 » 3个方法实现服务器之间传输文件 | 欢迎分享( 公众号:老蒋朋友圈 )

公众号 「老蒋朋友圈」获取站长新知 / 加QQ群 【1012423279】获取商家优惠推送