Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在通过局域网连接的计算机上移动文件_Windows_Linux_File_Scripting_Ftp - Fatal编程技术网

Windows 在通过局域网连接的计算机上移动文件

Windows 在通过局域网连接的计算机上移动文件,windows,linux,file,scripting,ftp,Windows,Linux,File,Scripting,Ftp,我需要将整个目录从网络中的一台计算机移动到另一台计算机(以独立于平台的方式)。基本上,我正在开发一些自动化工具,以帮助开发人员为此构建验证测试;我的任务是在多个平台上自动安装和卸载产品。所以,我需要先复制文件 这就是我在概念和实践知识方面需要帮助的地方 首先,让我提到,使用FileZilla或WinSCP之类的东西是不可能的,因为我需要事情自动发生,而不是通过点击按钮。但是请让我知道这些工具是否有任何命令行实用程序 我尝试了Perl的NET::FTP,虽然它看起来很有希望,但我想知道这是否是最好

我需要将整个目录从网络中的一台计算机移动到另一台计算机(以独立于平台的方式)。基本上,我正在开发一些自动化工具,以帮助开发人员为此构建验证测试;我的任务是在多个平台上自动安装和卸载产品。所以,我需要先复制文件

这就是我在概念和实践知识方面需要帮助的地方

首先,让我提到,使用FileZilla或WinSCP之类的东西是不可能的,因为我需要事情自动发生,而不是通过点击按钮。但是请让我知道这些工具是否有任何命令行实用程序

我尝试了Perl的NET::FTP,虽然它看起来很有希望,但我想知道这是否是最好的方法。另外,我想知道在运行FTP之前的先决条件是什么,我的意思是我需要在另一端安装perl吗?我经常读到来自perl的FTP的命令实际上试图连接到
FTP主机
,这是否意味着如果我没有以某种方式配置远程主机,它将无法工作?如果我是对的,那么这个额外的配置要做什么呢

除此之外,我还有别的办法解决我的问题吗?我的意思是,我在这里寻找API,它可以帮助我进行独立于平台的文件传输。但再一次,我不能使用需要点击按钮之类的工具,因为我在做自动化工作,所有的事情都需要以编程的方式自动完成

此外,我认为这是一个非常普遍的问题陈述:“在局域网连接的计算机上移动文件”;因此,如果我们能以这篇文章的答案的形式,列出(可能的)许多选项(解决问题的方法),那就太好了


提前感谢您希望提供的任何帮助

我建议在源主机上创建一个归档文件(例如
.tar.gz
文件),使用
scp
传输,然后在目标主机上取消归档


如果目录中几乎所有的文件都已更改,您也可以使用或
rsync
,创建存档,通过网络发送,取消存档是有意义的。实际上,如果您的局域网足够快,那么不压缩归档文件可能会更快——只需使用tar即可

如果只有部分文件发生了更改,命令行工具rsync将只下载更改。它可以与ssh一起使用,如下所示:

rsync-aesshusername@hostname:/path/to/files/store/here/local

在Linux和OS X上,cron和crontab允许您安排脚本定期运行。Windows提供Windows任务计划程序

如果您不关心局域网上的加密,FTP就可以了。否则,SSH会更好


rsync在OS X和Linux上可用,但我认为您可以通过Cygwin在Windows上使用它。

我建议您在.NET中开发自己的FTP客户端。通过这种方式,您可以完全控制应用程序,而不是单击按钮,您可以使用windows scheduler进行调度。下面是一篇关于如何在VB.NET中创建自己的FTP客户端的文章:


要使用scp,我需要安装哪些软件包?另外,如果我使用perl编写代码,这样我就必须在两个平台上运行相同的代码,您会怎么说;您可能需要
openssh客户端
openssh服务器
包,您需要阅读有关配置和使用它的教程。