Dreamhost ftp踢人

折腾Dreamhost虚拟主机的时候发现FTP客户端老提示
530 Sorry, the maximum number of connections (10) for your host are already connected.
以为过一会儿就排队挤上去了,吃饭回来发现仍然在重试。冒火了。还以为是我这个IP连接数过多,查了下本机没有任何网络异常,估计就是Dreamhost服务器里WAIT的FTP连接过多了。因为大陆糟糕的互联网质量,FTP客户端超时自动重连是经常的事情。Google了一下惊人的发现Dreamhost服务器端设置的FTP超时是18个小时。。。。。。。囧。。。。。于是就想上ssh去踢人。

发现ftpdctl不好使,因为action是在编译的时候指定的。

最后还是ftpwho+kill方便

kill `ftpwho | awk '/username/{print $1}'`

于是所有username用户的FTP session都被踢了。客户端果然又连上了。

更新:

状况实在糟糕,在网络高峰期,半个小时内的重新连接就超过了10次。不得不写一个cron自动踢人了。方法是在panel里添加一个Cron Jobs,每10分钟一次,命令行为

kill `ftpwho|awk '/username/{if($3=="["){split($4,o,"m")}else{split(substr($3,2),o,"m")};if(o[1]>15)print $1}'`

每10分钟杀死一次连接时间超过15分钟的FTP连接。。。对于平时小规模文件上传应该足够用了。

标签: , ,

4 条评论 发表在“Dreamhost ftp踢人”上

  1. Marco 说到:

    你用ssh登陆不就可以啦?我从来都不用 ftp 登陆 dreamhost 。

    • est 说到:

      你不觉得ssh上传文件非常及其以及特别的缓慢么?

      FTP的速度快多了。

      • Marco 说到:

        呵呵,我感觉还不错。一般下东西的话我都直接用 wget 从服务器端下载,很快的。

  2. [...] 阅读全文:Dreamhost ftp踢人 [...]

留下回复