钧言极客

Linux SSH远程传输命令 scp

如果你有几台云主机,而腾讯,阿里等等是支持内网传输的,并且不限制带宽,正常传输文件的速度能达到35m~50m/s,这个时候我们就可以使用内网,在几台云主机之间传输命令,只要把域名处,换成内网IP即可。使用的命令是scp,这个命令linux内置,本机和目标机,只要支持ssh,无须安装设置任何软件。

情形一:迁移网站数量较少。

较少的迁移量的话,技术员可以按照老方法,将网站打包下载,上传新服务器。

情形二:迁移内容较多。

迁移内容较多的话,那么下载上传绝对是个很耗费人心神的活。尤其是遇到小服务器带宽又不高的情况,基本上1G内容都能下载近半个小时。所以这个时候服务器对拷绝对是个最佳的选择

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


scp -P 2222 root@192.161.1.1:/root/test.tar.gz /home/test.tar.gz

上端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 root@www 表示使用root用户登录远程服务器192.168.1.1,:/root/test.tar.gz 表示远程服务器上的文件,最后面的/home/test.tar.gz表示保存在本地上的路径和文件名。

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


scp -P 2222 -r root@192.168.1.1:/root/dirname/ /home/dirname/

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


scp -P 2222 /home/test.tar.gz root@192.168.1.1:/root/test.tar.gz

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


scp -P 2222 -r /home/dirname/ root@192.168.1.1:/root/dirname/

案例

 - 将远程服务器内容下载到新服务器上。用SSH客户端登录新服务器的情况,执行下面一行命令。


scp -r "老服务器SSH账号"@"老服务器IP":老服务器文件夹或文件 新服务器文件夹

例如:


scp -r root@192.168.1.1:/home/root/others/ /data/

如果老服务器的SSH登录端口不是默认的"22",需要在-r参数后面加上"-P : 端口号"。回车后输入老服务的root密码就可以了。

 - SSH客户端登录老服务器,将老服务器文件放到新服务器的情况,执行下面一行命令。


scp "本地文件或文件夹" "新服务器账号"@"新服务器IP":"新服务器文件夹"

例如:


scp /home/space/music/1.mp3 root@192.168.1.1:/home/root/others/music

使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »