欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2023-02-18 21:31:16
scp是有security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。 复制代码 代码如下:sc...

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服务器间如何进行文件传输有所启发。