使用ftp将文件发送到其他目录

时间:2013-10-19 15:53:40

标签: ftp

我是FTP配置新手。我想做的是如下:

我在本地主机上运行shell脚本并将一些文件下载到我的机器上。现在我想要一个功能,其中我下载的文件应该存储在一个临时目录中,然后它应该被转移到我指定的位置(其他目录)。我觉得这种机制可以通过FTP通信实现,并且当我在一个域上托管这个机制时会有所帮助,但是我没有从我可以自学的方式获得资源如何设置它。

1 个答案:

答案 0 :(得分:0)

好的,访问了很多网站,这里有一些你可能会找到的资源:

  • 有关配置vsftpd的信息,here是一本如何安装,配置和使用的手册。
  • 关于通过FTP递归接收多个文件,您可以使用wget(摘自this网站):

cd /tmp/ftptransfer
wget --mirror --username=foo --password=bar ftp://ftp.originsite.com/path/to/folder

  • 关于递归发送多个文件,许多人通过tar - n-send找到了这样做的唯一方法;唯一的问题是文件将保持焦油状态,直到你通过转到另一台机器(远程或通过ssh)提取手动提取它们。有一种替代方法,不使用FTP but using ssh and pipes,它允许您在目标计算机上提取文件:

tar -cf - /tmp/ftptransfer | ssh geek@targetsite "cd target_dir; tar -xf -"

  • 解释:
    • tar是制作tar文件的应用程序
    • -c:创建文件
    • -f -:文件名为“stdout”
    • /tmp/ftptransfer:在tar
    • 中包含此文件夹和所有子目录
    • |:设置管道到下一个程序(将stdout连接到stdin)
    • ssh:安全Shell程序
    • geek@targetsite:您要连接到
    • 的用户名@ machinename
    • "..."命令发送到远程主机
      • cd target_dir:更改输出目录
      • tar -xf -:提取“stdin”
      • 收到的文件

要在Ubuntu上配置SSH,请查看here

如果您需要更多帮助,请不要害怕! :)