Linux服务器之间用SCP命令直接拷贝数据的方法

如果我们两台服务器之间的数据需要拷贝,下载FTP肯定麻烦,这里用wget也比较慢,这里一般会使用 SCP(Secure Copy Protocol)命令可以在两台服务器之间安全地复制文件或目录。以下是详细的步骤和示例,帮助你实现两台服务器之间的数据对拷。

基本语法

scp [选项] [源文件] [目标路径]

源文件:要复制的文件或目录的路径,可以是本地路径或远程服务器路径。

目标路径:文件或目录要复制到的位置,同样可以是本地路径或远程服务器路径。

常见用法示例

1. 从本地服务器复制到远程服务器

将本地服务器上的本地文件路径 文件复制到远程服务器user@remote_host 的/path/to/remote/directory 目录下:

scp 本地文件路径 user@remote_host:/path/to/remote/directory/

2. 从远程服务器复制到本地服务器

将远程服务器user@remote_host 上的远程文件路径 文件复制到本地服务器的/path/to/local/directory 目录下:

scp user@remote_host:远程文件路径 /path/to/local/directory/

3. 复制整个目录(递归复制)

使用-r 选项可以递归复制整个目录:

本地到远程:

scp -r /path/to/local/directory user@remote_host:/path/to/remote/directory/

远程到本地:

scp -r user@remote_host:/path/to/remote/directory /path/to/local/directory/

4. 指定端口号

如果远程服务器的 SSH 服务运行在非默认端口(22),可以使用-P 选项指定端口号:

本地到远程:

scp -P 2222 本地文件路径 user@remote_host:/path/to/remote/directory/

远程到本地:

scp -P 2222 user@remote_host:远程文件路径 /path/to/local/directory/

注意:-P 是大写,用于指定端口;小写-p 用于保留文件的修改时间、访问时间和模式。

5. 使用密钥文件进行认证

为了避免每次复制时输入密码,可以使用 SSH 密钥进行认证。首先确保本地服务器上有私钥,并且远程服务器上配置了对应的公钥。

scp -i /path/to/private_key.pem 本地文件路径 user@remote_host:/path/to/remote/directory/

 

投上你的一票

本文出处:老蒋部落 » Linux服务器之间用SCP命令直接拷贝数据的方法 | 欢迎分享( 公众号:老蒋朋友圈 )

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