linux使用scp实现服务器A向服务器B传输文件

时间:2021-05-19

scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。

复制代码 代码如下:scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root

然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。

如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。

复制代码 代码如下:scp root@172.19.2.75:/home/root /home/daisy/full.tar.gz

本文实例讲解了Linux服务器间文件传输的实现过程,供大家参考,具体内容如下

1.1 正常传输文件,不需要通过代理服务里连接服务器B,登录服务器A,执行
scp test.sql user@server-B:path
说明:将文件test.sql传输至服务器B(user为服务器B的用户名,server-B为服务器B的IP,path为服务器B上的指定接收文件的路径),回车输入user的密码

1.2 需要通过代理访问服务器B,执行

scp -oProxyCommand='nc -v -xproxy:port %h %p' test.sql user@server-B:path
说明:proxy为代理服务器的IP,port为代理服务器的端口,回车输入user的密码

此外,也可使用sftp命令,格式基本同上:

sftp -oProxyCommand='nc -v -xproxy:port %h %p' user@server-B port
说明:后一个port是服务器B的端口

1.3利用scp传输文件

1)、从服务器下载文件
scp username@servername:/path/filename /tmp/local_destination

例如scp codinglog@192.168.0.101:/home/kimi/test.txt 把192.168.0.101上的/home/kimi/test.txt的文件下载到 /tmp/local_destination
2)、上传本地文件到服务器
scp /path/local_filename username@servername:/path

例如scp /var/www/test.php codinglog@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件
上传到192.168.0.101这台服务器上的/var/www/目录中
3)、从服务器下载整个目录
scp -r username@servername:remote_dir/ /tmp/local_dir

例如:scp -r codinglog@192.168.0.101 /home/kimi/test /tmp/local_dir
4)、上传目录到服务器
scp -r /tmp/local_dir username@servername:remote_dir

例如:
scp -r testcodinglog@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器的/var/www/ 目录

以上就是linux实现服务器A向服务器B传输文件的全部内容,希望对大家学习Linux服务器间如何进行文件传输有所启发。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章