如果我们两台服务器之间的数据需要拷贝,下载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命令直接拷贝数据的方法 | 欢迎分享( 公众号:老蒋朋友圈 )