通过SFTP/SSH接收文件,并自动转发到另一台服务器上的FTP

Rob*_*ert 9 ftp sftp

我目前处于从客户端通过FTP接收平面文件的情况.一些客户坚持需要使用SSH私钥SFTP而不是常规FTP.

我想要做的是设置一个Web服务器(最好是linux/unix,但我想我可以在Windows服务器上运行并购买SFTP服务器软件),它将执行以下操作:

  1. 允许我为每个具有唯一用户/通道的客户端设置SFTP目录.每个目录也必须有公共/私人密钥SSH"东西"我对此有点新,但我用Google搜索了它.

  2. 一旦文件被客户端完全上传,我想通过常规FTP启动ftp该文件到我的Windows云的事件.

  3. 这些文件最多可达10mb,因此在文件完全上传之前,即使是其他服务器的ftp也无法触发.

有没有人设置这样的东西?任何指导将不胜感激.

谢谢!

Owe*_*een 5

在Linux中,您可以使用incron来监视文件将SFTP到的目录,并让它触发您的ftp作业.它有点像cron,除了基于时间触发作业而不是基于文件系统修改.为了只在整个文件写入后触发,我认为你可以在inotify掩码中使用IN_CLOSE_WRITE.如果做不到这一点,我建议单独为每个事件配置事件,以将消息回显给日志文件,看看是否可以识别仅在SFTP传输结束时可靠发生的事件.

如果您使用的是RedHat,它不在标准版本中,但它在EPEL中.