Linux使用scp远程传输命令进行服务器文件互传(阿里云服务器)

前几天 WordPress大学 所在的服务器环境不太稳定,CPU 占用总是 100%,折腾了好几次都没有找到原因,只好考虑重新配置环境,考虑到配置和优化好环境需要几个小时,总不能将网站停掉吧,所以要将 WordPress大学 网站临时迁移到另外的服务器运行,配置好再迁回来。

看来下阿里云的两个云服务器,都是同一个区的,所以决定通过内网进行文件传输,速度快不说(正常传输文件的速度能达到35m~50m/s),还不占用公网带宽。

阿里云云服务器有一个安全组策略,可能需要设置下 内网入、出方向的IP白名单:

如果你的云服务器没有上面的安全策略,可以忽略。

接下来要使用 scp 这个远程传输命令,只要是 Linux 系统,登录 ssh 客户端(比如 putty)即可使用。

1、获取远程服务器上的文件

scp -P 2223 root@10.23.185.16:/root/test.tar.gz /home/test.tar.gz

命令中的大写P 为端口参数,2223 表示ssh的端口,如果是 22 的话,可以不需要该参数,如果是其他端口,必须填写。
root@10.23.185.16 表示使用root用户登录远程服务器10.23.185.16
:/root/test.tar.gz 表示远程服务器上的文件及路径
最后面的/home/test.tar.gz 表示保存在本地上的路径和文件名。
执行命令后,正常的话会有一个提问,输入 yes 回车,然后需要输入远程服务器的 root 密码,回车即可。

2、获取远程服务器上的目录

scp -P 2223 -r root@10.23.185.16:/root/dirname/ /home/dirname/

注意:如果是目录,需要添加一个 -r 参数

3、将本地文件上传到服务器上

scp -P 2223 /home/test.tar.gz root@10.23.185.16:/root/test.tar.gz

4、将本地目录上传到服务器上

scp -P 2223 -r /home/dirname/ root@10.23.185.16:/root/dirname/

使用 scp 进行内网传输,速度果然杠杆的!