A better alternative to the older, perl-based sslh for those who would like to use SSH and SSL on the same port (could be useful if you’re behind a restrictive firewall, e.g. at an Internet café):
It’s implemented in C for better performance and supports privilege dropping.
I used to have a headless Linux LAN server that ran 24/7, i.e. even when I actually didn’t use it. Now, it powers itself off automatically as soon as it doesn’t detect any running workstations/notebooks (with dynamically assigned IP addresses) in the LAN.
Here’s how to do it:
In /usr/local/bin, create a new bash script named “shutdown_if_no_dhcp_client_in_lan” with the following content:
# Shutdown the box if there aren't any (not ignored)
# DHCP clients in the LAN
# ignore the skype base station
# dhcp range starts at 192.168.1.$dhcpstart
# dhcp range ends at 192.168.1.$dhcpend
for i in $(seq $dhcpstart 1 $dhcpend)
# returns 0, if ip reachable. returns 1, if not reachable
ping -w 1 -q 192.168.1.$i >/dev/null
if [ "$?" = "0" ]; then
# check whether this ip should be ignored
if [ "`ip neighbor|grep 192.168.1.$i|grep $ignored_macaddr|wc -l`" = "1" ]; then
echo "192.168.1.$i is reachable but ignored"
echo "192.168.1.$i is reachable and NOT ignored"
# exit the program without shutting down the box
echo "192.168.1.$i is NOT reachable"
# we didn't find any (not ignored) DHCP client in the LAN
# we can thus shutdown this box
echo "warning the users and shutting down the box in 5 minutes"
shutdown -h -P +5 Please save your work now!
(Adjust the script to your LAN environment)
In /etc/crontabs, add:
*/20 * * * * root /usr/local/bin/shutdown_if_no_dhcp_client_in_lan >/dev/null 2>&1
Now the LAN server will shutdown automatically after a while when no workstations/notebooks are running anymore. Note that this can happen 5 to 25 minutes after the last activity and isn’t fault-tolerant at all. The script can easily be improved however.
While debugging a Gentoo/Mailman problem, I found this very useful python wrapper for mailq provided by Dan Mick. It allows to selectively display message IDs of queued messages for a certain recipient. Thanks, Dan!
[Mailman-Developers] Postfix mailq formatter/dumper/searcher: mq