From 6fb489f1e851100e55418a307e6b35928dc1234e Mon Sep 17 00:00:00 2001 From: Darren 'Tadgy' Austin Date: Tue, 23 Aug 2022 05:07:21 +0100 Subject: [PATCH] Update rc.local*. --- rc.d/rc.local | 78 ++++++++++++++++++++++-------------------- rc.d/rc.local_shutdown | 51 +++++++-------------------- 2 files changed, 54 insertions(+), 75 deletions(-) diff --git a/rc.d/rc.local b/rc.d/rc.local index 6813866..288759c 100755 --- a/rc.d/rc.local +++ b/rc.d/rc.local @@ -1,66 +1,70 @@ #!/bin/bash # /etc/rc.d/rc.local - Local system startup script. -# This script will be run when the system is first booted. +# Copyright (c) 2005-2022: +# Darren 'Tadgy' Austin +# Licensed under the terms of the GNU General Public License version 3. # Start the MCE daemon. -[ -x /etc/rc.d/rc.mcelog ] && /etc/rc.d/rc.mcelog start +[[ -x /etc/rc.d/rc.mcelog ]] && /etc/rc.d/rc.mcelog start -# Start the qemu guest additions agent. -[ -x /etc/rc.d/rc.qemu-ga ] && /etc/rc.d/rc.qemu-ga start - -# Start GlusterFS daemon. -[ -x /etc/rc.d/rc.glusterd ] && /etc/rc.d/rc.glusterd start +# Start the Open VM Tools daemon. +[[ -x /etc/rc.d/rc.vmtoolsd ]] && /etc/rc.d/rc.vmtoolsd start # Start the vnstat daemon. -[ -x /etc/rc.d/rc.vnstat ] && /etc/rc.d/rc.vnstat start - -# Start netdata. -[ -x /etc/rc.d/rc.netdata ] && /etc/rc.d/rc.netdata start +[[ -x /etc/rc.d/rc.vnstat ]] && /etc/rc.d/rc.vnstat start # Start fail2ban. -[ -x /etc/rc.d/rc.fail2ban ] && /etc/rc.d/rc.fail2ban start +[[ -x /etc/rc.d/rc.fail2ban ]] && /etc/rc.d/rc.fail2ban start + +# Start netdata. +[[ -x /etc/rc.d/rc.netdata ]] && /etc/rc.d/rc.netdata start # Start the php-fpm FastCGI daemon. -[ -x /etc/rc.d/rc.php-fpm ] && /etc/rc.d/rc.php-fpm start +[[ -x /etc/rc.d/rc.php-fpm ]] && /etc/rc.d/rc.php-fpm start # Start SpamAssassin. -[ -x /etc/rc.d/rc.spamd ] && /etc/rc.d/rc.spamd start +[[ -x /etc/rc.d/rc.spamd ]] && /etc/rc.d/rc.spamd start # Start greylistd. -[ -x /etc/rc.d/rc.greylistd ] && /etc/rc.d/rc.greylistd start +[[ -x /etc/rc.d/rc.greylistd ]] && /etc/rc.d/rc.greylistd start +# Start Exim. +[[ -x /etc/rc.d/rc.exim ]] && /etc/rc.d/rc.exim start + +# FIXME: Move the lumberjack starts into the rc.ds? # Start proftpd. -[ -x /etc/rc.d/rc.proftpd ] && { - /opt/bin/lumberjack -u logger -z -r -i /run/slackware.uk-ftpd.log -o logger:ftp -mp 006 -l logs/ftpd-transfers.log \ - /data/sites/slackware.uk logs/%Y/%m/ftpd-transfers.log & +[[ -x /etc/rc.d/rc.proftpd ]] && { + [[ -x /opt/bin/lumberjack ]] && { + if [[ -x /usr/bin/daemon ]]; then + /usr/bin/daemon -N -n lumberjack-ftpd -r -a 60 -A 5 -L 300 -o daemon.debug -- /opt/bin/lumberjack -u logger -z -r -i /run/slackware.uk-ftpd.log \ + -o logger:ftp -mp 006 -l logs/ftpd-transfers.log /data/sites/slackware.uk logs/%Y/%m/ftpd-transfers.log + else + /opt/bin/lumberjack -u logger -z -r -i /run/slackware.uk-ftpd.log -o logger:ftp -mp 006 -l logs/ftpd-transfers.log /data/sites/slackware.uk \ + logs/%Y/%m/ftpd-transfers.log & + fi + } /etc/rc.d/rc.proftpd start } # Start the rsync daemon. -[ -x /etc/rc.d/rc.rsyncd ] && { - /opt/bin/lumberjack -u logger -z -r -i /run/rsyncd.log -o logger:mirror -mp 006 -l logs/rsyncd-transfers.log \ - /data/sites/slackware.uk logs/%Y/%m/rsyncd-transfers.log & +[[ -x /etc/rc.d/rc.rsyncd ]] && { + [[ -x /opt/bin/lumberjack ]] && { + if [[ -x /usr/bin/daemon ]]; then + /usr/bin/daemon -N -n lumberjack-rsyncd -r -a 60 -A 5 -L 300 -o daemon.debug -- /opt/bin/lumberjack -u logger -z -r -i /run/rsyncd.log \ + -o logger:mirror -mp 006 -l logs/rsyncd-transfers.log /data/sites/slackware.uk logs/%Y/%m/rsyncd-transfers.log + else + /opt/bin/lumberjack -u logger -z -r -i /run/rsyncd.log -o logger:mirror -mp 006 -l logs/rsyncd-transfers.log /data/sites/slackware.uk \ + logs/%Y/%m/rsyncd-transfers.log & + fi + } /etc/rc.d/rc.rsyncd start } # Start the bandwidth bar generator. -[ -x /opt/bin/bwbar ] && sudo -b /opt/bin/bwbar -f /run/bwbar.txt -p /run/bwbar.png -t 1 -x 800 -y 8 -b 2 eth0 1000 +[ -x /etc/rc.d/rc.bwbar ] && /etc/rc.d/rc.bwbar start # Start seeding the torrents. -grep "^seeder:" /etc/passwd >/dev/null 2>&1 && su - seeder -c /home/seeder/start-seeding - -# Start libvirt. -[ -x /etc/rc.d/rc.libvirt ] && /etc/rc.d/rc.libvirt start - -# Start the lxcfs fuse module. -[ -x /etc/rc.d/rc.lxcfs ] && /etc/rc.d/rc.lxcfs start - -# Start containers. -[ -x /etc/rc.d/rc.lxc ] && { - # Proxy ARP is required for the LXC bridge to function correctly. - echo 1 >/proc/sys/net/ipv4/conf/br0/proxy_arp - /etc/rc.d/rc.lxc start -} +[[ -x /etc/rc.d/rc.seeder ]] && /etc/rc.d/rc.seeder start # Notify that the server has booted. -CONFIG_FILE="server" /opt/bin/pushover -T "Successful boot up: ${HOSTNAME%%.*}" -p 1 -m "$(printf '%(%d %b %Y - %H:%M:%S)T')" +CONFIG_FILE="server" /opt/bin/pushover -T "${HOSTNAME%%.*}" -p 1 -m "Successful boot up." diff --git a/rc.d/rc.local_shutdown b/rc.d/rc.local_shutdown index cc2571b..309b61a 100755 --- a/rc.d/rc.local_shutdown +++ b/rc.d/rc.local_shutdown @@ -3,41 +3,13 @@ # This script will be run when the system is shutdown or rebooted. # Notify that the server is shutting down. -CONFIG_FILE="server" /opt/bin/pushover -T "Shutting down: ${HOSTNAME%%.*}" -p 1 -m "$(printf '%(%d %b %Y - %H:%M:%S)T')" +CONFIG_FILE="server" /opt/bin/pushover -T "${HOSTNAME%%.*}" -p 1 -m "Shutting down." -# Stop containers. -[ -x /etc/rc.d/rc.lxc ] && /etc/rc.d/rc.lxc stop +# Stop seeding the torrents. +[[ -x /etc/rc.d/rc.seeder ]] && /etc/rc.d/rc.seeder stop -# Stop lxcfs. -[ -x /etc/rc.d/rc.lxcfs ] && /etc/rc.d/rc.lxcfs stop - -# Stop libvirt. -[ -x /etc/rc.d/rc.libvirt ] && { - /etc/rc.d/rc.libvirt guests_shutdown - /etc/rc.d/rc.libvirt stop -} - -# Stop the rtorrent instances started at boot. -grep "^seeder:" /etc/passwd >/dev/null 2>&1 && { - pkill -INT -u seeder '^rtorrent .*$' - printf "%s" "Waiting up to 30 seconds for rtorrent to exit" - for ((i=0; i <= 59; i++)); do - if pgrep -u seeder '^rtorrent .*$' >/dev/null 2>&1; then - printf "%s" "." - sleep 0.5 - else - break - fi - done - if ! pgrep -u seeder '^rtorrent .*$' >/dev/null 2>&1; then - printf "%s\n" " clean exit." - else - printf "%s\n" " failed - terminating." - pkill -TERM -u seeder '^rtorrent .*$' - sleep 2 - pkill -KILL -u seeder '^rtorrent .*$' - fi -} +# Stop the bandwidth bar generator. +[ -x /etc/rc.d/rc.bwbar ] && /etc/rc.d/rc.bwbar stop # Stop rsyncd. [ -x /etc/rc.d/rc.rsyncd ] && /etc/rc.d/rc.rsyncd stop @@ -45,6 +17,9 @@ grep "^seeder:" /etc/passwd >/dev/null 2>&1 && { # Stop proftpd. [ -x /etc/rc.d/rc.proftpd ] && /etc/rc.d/rc.proftpd stop +# Stop Exim. +[[ -x /etc/rc.d/rc.exim ]] && /etc/rc.d/rc.exim stop + # Stop greylistd. [ -x /etc/rc.d/rc.greylistd ] && /etc/rc.d/rc.greylistd stop @@ -54,6 +29,9 @@ grep "^seeder:" /etc/passwd >/dev/null 2>&1 && { # Stop the php-fpm FastCGI daemon. [ -x /etc/rc.d/rc.php-fpm ] && /etc/rc.d/rc.php-fpm stop +# Stop netdata. +[[ -x /etc/rc.d/rc.netdata ]] && /etc/rc.d/rc.netdata stop + # Stop fail2ban. [ -x /etc/rc.d/rc.fail2ban ] && /etc/rc.d/rc.fail2ban stop @@ -63,11 +41,8 @@ grep "^seeder:" /etc/passwd >/dev/null 2>&1 && { # Stop the vnstat daemon. [ -x /etc/rc.d/rc.vnstat ] && /etc/rc.d/rc.vnstat stop -# Stop GlusterFS daemon. -[ -x /etc/rc.d/rc.glusterd ] && /etc/rc.d/rc.glusterd stop - -# Stop the qemu guest additions agent. -[ -x /etc/rc.d/rc.qemu-ga ] && /etc/rc.d/rc.qemu-ga stop +# Stop the Open VM Tools daemon. +[[ -x /etc/rc.d/rc.vmtoolsd ]] && /etc/rc.d/rc.vmtoolsd stop # Stop the MCE daemon. [ -x /etc/rc.d/rc.mcelog ] && /etc/rc.d/rc.mcelog stop