linux下用scp命令在两个服务器之间传输文件,利用php_scp函数进行文件传输

Posted 岁月无心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下用scp命令在两个服务器之间传输文件,利用php_scp函数进行文件传输相关的知识,希望对你有一定的参考价值。

在linux下利用scp进行文件传输,

从服务器下载文件

scp [email protected]:/path/filename  /path/filename

 

上传本地文件到服务器

scp /path/filename [email protected]:/path/filename

从服务器下载整个目录

scp -r [email protected]:remote_dir/  /path/

上传目录到服务器      

scp  -r /dir [email protected]:remote_dir

以上操作在执行时都会提示你输入密码,输入密码后就会成功执行。

但是这些只适合在操作linux服务器时使用,如何在程序中执行呢?

php就用到了php_scp_send和php_scp_revc函数

php_scp_send是向另一个服务器传输文件,php_scp_revc则是下载文件。

这两个函数要结合php_ssh2组件使用。

$ssh2 = ssh2_connect($ssh_host, $ssh_port);  //先登陆SSH并连接,具体参照php_ssh2连接


//$local_file为本地文件, $remote_file为远程文件
//本地传输文件到远程服务器
$stream=ssh2_scp_send($ssh2, $local_file, $remote_file, 0644);
默认权限为0644,返回值为bool值,true或false.

//从远程服务器下载文件
$stream=ssh2_scp_revc($ssh2, $remote_file, $local_file);
//返回值为返回值为bool值,true或false.

 

以上是关于linux下用scp命令在两个服务器之间传输文件,利用php_scp函数进行文件传输的主要内容,如果未能解决你的问题,请参考以下文章

求linux下用SCP命令直接在服务器间传输方法

Linux下用SCP无需输入密码传输文件

使用scp命令实现服务器之间文件传输

SCP实现无需密码传输文件

每天一个linux命令:scp 命令

Linux系统之间文件传输 scp 命令