4

i'm currently thinking of a clean way of how to bring an ftp server down for maintenance. i wonder, if anybody out there could give me some hints of how to solve this:

  • i don't want to interrupt any current uploads, but want to block any new connects / uploads and wait, till uploads have finished, before taking down the ftp server
  • is there a way of dynamically prevent user-logins and show a message eg.: "ftp currently down for maintenance" when a user tries to log in?

are my thoughts on this very uncommon or how do others handle this -- i feel, that just halting ftp server and killing any current uploads is not the right way for this ...

i use proftpd (with SQL backend) btw, maybe there are some specific solutions for this -- or are there any generic tools to achieve this?

many thanks!

Castaglia
  • 3,239
  • 3
  • 19
  • 40
harald
  • 393
  • 1
  • 5
  • 17

2 Answers2

3

Try ftpshut, it's supposed to bring the server down gracefully. There's an article here about using it with 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.

charlesbridge
  • 817
  • 5
  • 14
0

Whenever we need to do work on our FTP servers, we just shut them down (after arranging the downtime internally) - extenal users can resume their uploads when it's back up.

You may be able to find a way to get proftpd to respect /etc/nologin or something like that, but I've never seen anything.

Alternatively, if you have your users stored in a SQL backend, you could stop the SQL server/block the FTP server from talking to the SQL server/change the SQL password/login to prevent new logins.

James
  • 7,553
  • 2
  • 24
  • 33