diff --git a/maint-scripts/freedmrflush.sh b/maint-scripts/freedmrflush.sh new file mode 100644 index 0000000..13db9fd --- /dev/null +++ b/maint-scripts/freedmrflush.sh @@ -0,0 +1,88 @@ +#!/bin/bash + + +#This script written by Shane Daley M0VUB. The script gracefully shutsdown services while services are cleaned and logs are truncated. +#We can also add items in this script for future use like updates or further log trims. +#Add to the cron tab for auto execution + +# Copyright (C) 2020 Shane P, Daley M0VUB +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +#This script is for FreeDMR Server only which has been installed from docker_install.sh. It is NOT to be used for DOCKER-COMPOSE. +#NOT TO BE USED FOR DOCKER-COMPOSE INSTALL! PLEASE USE ALTERNATIVE FLUSH SCRIPT FOR FREEDMR THAT HAS BEEN INSTALLED WITH DOCKER-COMPOSE. + +#Start service clean/truncate/ and restart of services. + +echo Stopping services..... +sleep 2 + +echo Stopping FreeDMR Server.... +docker container stop freedmr && +echo Done. +sleep 1 + +echo Stopping HBMonitor +systemctl stop hbmon && +echo Done. +sleep 1 + +echo FreeDMR Flush and maintenance cycle starting..... +sleep 1 + +echo Starting truncate main log folder /var/log..... +truncate -s 0 /var/log/*log && + +echo Starting truncate freedmr entire log /var/log/freedmr..... +truncate -s 0 /var/log/freedmr/*log && + +echo Starting truncate Lastheard..... +truncate -s 0 /opt/HBMonv2/log/*log && + +#Restart all services gracefully +echo Restart all services..... +sleep 2 + +echo Restarting docker app..... +systemctl restart docker && +echo Done. +sleep 3 + +echo Restarting FreeDMR container..... +docker container start freedmr && +echo Done. +sleep 2 + +#This basically ensures that docker has been updated to ensure that it reboots when dies. +echo FreeDMR container Set to restart on boot... +docker update --restart unless-stopped freedmr && +echo Done. +sleep 1 + +#Lets flush the network address table so it picks up the connections quicker. +echo Flushing NAT..... +conntrack -F +echo Done. +sleep 1 + +echo Restart apache2..... +systemctl restart apache2 && +echo Done. +sleep 1 + +echo Restart HBMonitor +systemctl restart hbmon && +echo Done. +sleep 2 + +echo Finished. +sleep 1 +echo All systems have been flushed/cleaned and ready to go. Aka Dr. Node. ShaYmez, DV-Scotland