我目前正在考虑一种干净的方法来关闭 ftp 服务器进行维护。我想知道,是否有人可以给我一些关于如何解决这个问题的提示:
- 我不想中断任何当前的上传,但想阻止任何新的连接/上传并等待,直到上传完成,然后再关闭 ftp 服务器
- 有没有办法动态阻止用户登录并在用户尝试登录时显示一条消息,例如:“ftp 目前因维护而停机”?
我对这个非常罕见的想法或其他人如何处理这个问题的想法 - 我觉得,只是停止 ftp 服务器并终止任何当前的上传不是解决这个问题的正确方法......
我使用proftpd(带有SQL后端)顺便说一句,也许有一些具体的解决方案——或者是否有任何通用工具来实现这一点?
非常感谢!
尝试ftpshut,它应该可以优雅地关闭服务器。这里有一篇关于将它与proftpd 一起使用的文章。
The ftpshut command provides an automated shutdown procedure that a superuser can use to automagically disconnect current proftpd connections, and deny new connections. The command creates a control file as /etc/shutmsg to inform proftpd processes about an impending shutdown.
每当我们需要在我们的 FTP 服务器上工作时,我们只需将它们关闭(在内部安排停机时间之后) - 外部用户可以在备份时恢复他们的上传。
您可能能够找到一种方法让 proftpd 尊重 /etc/nologin 或类似的东西,但我从未见过任何东西。
或者,如果您将用户存储在 SQL 后端,您可以停止 SQL 服务器/阻止 FTP 服务器与 SQL 服务器通信/更改 SQL 密码/登录以防止新登录。