当前位置 主页 > 服务器问题 > Linux/apache问题 >

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

    栏目:Linux/apache问题 时间:2018-11-15 14:27

    这篇文章主要介绍了linux使用scp实现服务器A向服务器B传输文件的相关资料,需要的朋友可以参考下

    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 test   codinglog@192.168.0.101:/var/www/   把当前目录下的test目录上传到服务器的/var/www/ 目录

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