【问题标题】:Sending files to remote server in the quickest manner以最快的方式将文件发送到远程服务器
【发布时间】:2014-01-28 07:29:27
【问题描述】:

我有一个单独的服务器来处理上传到我的面向 Web 的主服务器的媒体。现在我使用 FTP 将文件上传到它,但问题是为了确保文件完成上传,我有一个超时运行,这增加了整体处理时间的延迟。我似乎无法让它等待不到 5 秒,并且仍然保证拿起媒体,这种延迟不再可以接受。所以:

有没有更好的方法来干净利落地实现这一点?我考虑过坚持使用 FTP 并在初始上传后发送另一个文件,这将表明它已完成,但每次上传都有两个上传 = 昂贵。我考虑过的另一个选择是实现一个自定义服务器,它只获取一个内容长度标头,进行一些身份验证,然后接收文件并在准备好后立即启动处理。套接字编程似乎并不太令人生畏,但我对发送二进制文件和不同格式有些担心,这是一个有效的担忧吗?还有我可以实施的其他协议来做到这一点,而不是重新发明轮子?类似于 FTP,但需要一点验证。

如果您能分享任何建议或提示,我会很高兴,谢谢!

【问题讨论】:

    标签: linux ftp network-protocols socketserver


    【解决方案1】:

    我建议你使用rsync。这会在ssh 上运行,将移动整个目录/文件层次结构,进行增量复制,简而言之,您可能想要的一切。

    【讨论】:

    • 但它可以在文件发送完成时通知进程吗?我在这里遇到的问题是能够在他们进来的第二秒接他们,而不是之前或之后......
    • 你的意思是通知本地服务器上的东西吗?或者通知远程服务器上的东西?如果是前者,rsync 将以成功退出代码完成,因此rsync [params] && notify-thing 将起作用。如果是后者,只需使用 ssh(与rsync 相同的凭据)即rsync [params] && ssh remote.server.example.com notify-thing,当rsync 成功完成时,它将在远程服务器上运行notify-thing
    • 啊,好像可以(在远程服务器上)
    猜你喜欢
    • 2021-07-06
    • 2016-06-06
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 2015-12-24
    • 2013-11-18
    相关资源
    最近更新 更多