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

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

代码如下:
scp /home/daisy/full.tar.gz

然后会提示你输入另外那台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 test   codinglog@192.168.0.101:/var/www/   把当前目录下的test目录上传到服务器的/var/www/ 目录

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

参与评论