ftpshut(8)
π ftpshut β bestie, it's the shutdown button π
okay so welcome to ftpshut(8), from the System Manager's Manual section 8 (that's the "sysadmin only, no touching" section, iykyk) β¨
πΈ NAME πΈ
ftpshut β shut down all proftpd servers at a given time β°π
π SYNOPSIS π
ftpshut [ -R ] [ -l min ] [ -d min ] time [ warning-message ]
β¨ DESCRIPTION β¨
ok so ftpshut is the automated shutdown procedure, and it's giving superuser main character energy π β a superuser can use it to automagically disconnect the proftpd connections that are currently happening, and deny any new ones from even thinking about it π«π
The way it works is: the command creates a control file at /etc/shutmsg, and that file is basically a lil gossip note to the proftpd processes being like "hey bestie, a shutdown is coming" πβ¨
π OPTIONS π
timeβ the time at which the ftp servers get brought down π It can be the wordnow, which means immediate shutdown, no waiting, bye π or it can be a future time in one of two formats:+numberorHHMM. The+numberform brings the servers down in number minutes, and theHHMMform means an exact time of day using a 24-hour clock format β³-Rβ tellsftpshutto remove the/etc/shutmsgfile, which restores proftpd to its normal service π«Ά If this option is used, this will be the only operation performed byftpshutβ it's not doing anything else, periodt π-l minβ specifies the number of minutes before shutdown that new ftp access will be disabled π§ If-lisn't specified, the default is 10 minutes (or immediately, if less than 10 minutes remains until shutdown) β±οΈ-d minβ specifies the number of minutes before shutdown that existing ftp connections will be disconnected βοΈ If-disn't specified, the default is 5 minutes (or immediately, if less than 5 minutes remains until shutdown) β±οΈwarning-messageβ optionally, you can provide a message π₯Ί which will be sent to new connections (if denied) and to existing connections (when disconnected). The message can contain the following magic cookies πͺ, which get replaced as follows before being sent out to new or existing connections:%sβ time proftpd is being shut down%rβ time new connections will be denied%dβ time current connections will be dropped%Cβ current working directory (where applicable)%Lβ local host name (or virtualhost name)%Rβ remote host name%Tβ local time (formatThu Nov 15 17:12:42 1990)%Uβ username given at login time
π CAVEATS π
ok this part is the serious part, bestie, listen up π«‘
Proftpd servers can only be shutdown via ftpshut if a master daemon is running in standalone mode. Servers running in inetd mode will honor the shutdown message file created by ftpshut β however, currently running servers may be chroot(2)ed, and unable to read the shutdown message control file π¬
π Also: it is possible to set an absolute shutdown time which is earlier than the current time. If that happens, proftpd will not shutdown until the indicated time on the following day. So like, don't do that unless you mean it π
π FILES π
/usr/sbin/ftpshut/etc/shutmsg
π AUTHORS π
ProFTPD is written and maintained by a number of people π«Ά β full credits can be found on http://www.proftpd.org/credits.html
π SEE ALSO π
inetd(8), ftp(1), proftpd(8), ftpwho(1), ftpcount(1)
Full documentation on ProFTPD, including configuration and FAQs, is available at http://www.proftpd.org/ π
For help/support, try the ProFTPD mailing lists, detailed on http://www.proftpd.org/lists.html π¬
Report bugs at http://bugs.proftpd.org/ π
and that's the whole page, bestie!! this iconic lil manual page came from March 2003 (throwback fr fr π°οΈ), it lives in section 8 of the System Manager's Manual as ftpshut(8), and the source/version vibe is all proftpd π now go schedule that shutdown responsibly, mwah ππ β¨
π¦ where this page comes from
- alpine 3.24: proftpd-doc 1.3.9e-r0 Β· GPL-2.0-or-later
- debian bookworm: proftpd-core 1.3.8+dfsg-4+deb12u4 Β· GPL-2.0-or-later
- debian bookworm: proftpd-core 1.3.8+dfsg-4+deb12u5 Β· GPL-2.0-or-later
- debian trixie: proftpd-core 1.3.8.c+dfsg-4+deb13u3 Β· GPL-2.0-or-later
- epel 10: proftpd 1.3.9d-2.el10_3 Β· GPL-2.0-or-later
- epel 9: proftpd 1.3.8d-4.el9 Β· GPL-2.0-or-later
- opensuse-leap 16.0: proftpd 1.3.9-bp160.1.11 Β· GPL-2.0-or-later
- opensuse-leap 16.0: proftpd 1.3.9-bp160.1.11 Β· GPL-2.0-or-later
- opensuse-leap 16.0: proftpd 1.3.9-bp160.1.11 Β· GPL-2.0-or-later
- opensuse-leap 16.0: proftpd 1.3.9-bp160.1.11 Β· GPL-2.0-or-later
- ubuntu jammy: proftpd-core 1.3.7c+dfsg-1build1 Β· GPL-2.0-or-later
- ubuntu jammy: proftpd-core 1.3.7c+dfsg-1ubuntu0.1 Β· GPL-2.0-or-later
- ubuntu noble: proftpd-core 1.3.8.b+dfsg-1build3 Β· GPL-2.0-or-later
- ubuntu noble: proftpd-core 1.3.8.b+dfsg-1ubuntu0.1 Β· GPL-2.0-or-later
- ubuntu questing: proftpd-core 1.3.9~dfsg-3
- ubuntu resolute: proftpd-core 1.3.9~dfsg-4 Β· GPL-2.0-or-later
- ubuntu stonking: proftpd-core 1.3.9d~dfsg-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms