From 532bee722b002b538626c5bc65739a5ae8dfe17c Mon Sep 17 00:00:00 2001 From: Asif Bacchus Date: Sun, 21 Oct 2018 01:46:32 -0600 Subject: [PATCH] Updated in-script help --- root/scripts/backup.sh | 61 +++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/root/scripts/backup.sh b/root/scripts/backup.sh index 7554c25..1426ec9 100644 --- a/root/scripts/backup.sh +++ b/root/scripts/backup.sh @@ -20,31 +20,35 @@ stamp="[`date +%Y-%m-%d` `date +%H:%M:%S`]" ### scriptHelp -- display usage information for this script function scriptHelp { echo -e "${bold}${note}\n${scriptName} usage instructions:\n${normal}" - echo -e "${default}This script performs a backup of your NextCloud system" + echo -e "${default}This script performs a backup of your Mailcow system" echo -e "assuming a fairly standard set up such as outlined at" echo -e "${lit}https://mytechiethoughts.com${default}. Full details about" echo -e "this script can be found at that site." echo -e "${bold}\nThe script performs the following tasks:${normal}${default}" - echo -e "1. Puts NextCloud in maintenance mode." + echo -e "1. Stops mailflow (postfix & dovecot) containers." echo -e "2. Optionally copies a 503 error page to your webroot." - echo -e "3. Dumps SQL to a temporary directory." - echo -e "4. Invokes borgbackup to backup your SQL info, NextCloud program" - echo -e "\tand data files along with any other files you specify." + echo -e "3. Dumps Mailcow's SQL DB to a temporary directory." + echo -e "4. Invokes borgbackup to backup your SQL info, Mailcow settings" + echo -e "\tand (raw) data files along with any other files you specify." echo -e "5. Removes temp files, the 503 error page and restores" - echo -e "\tNextCloud to operational status." + echo -e "\tMailcow to operational status." echo -e "\nThe readme file included in this script's git contains detailed" echo -e "usage information. The following is a brief summary:\n" - echo -e "${bold}${note}Mandatory parameters:${normal}${default}" - echo -e "${lit}\n-d, NextCloud data directory${default}" - echo -e "This is the physical location of your NextCloud data." - echo -e "${lit}\n-n, NextCloud webroot${default}" - echo -e "This is the location of the actual NextCloud web files (php & html" - echo -e ",etc.), usually within your NGINX or Apache webroot." - echo -e "${lit}\n-u, NGINX/Apache webuser account${default}" - echo -e "The webuser account NGINX/Apache (and thus, NextCloud) are running" - echo -e "under. Some actions must run as this user due to file ownership" - echo -e "restrictions." - echo -e "${bold}${note}\nOptional parameters:${normal}${default}" + echo -e "\n${bold}***This script scans for your mailcow configuration file" + echo -e "either with the default name or with your provided filename. If" + echo -e "multiple files with this name are on your system, the script" + echo -e "WILL get confused and exit with errors***${normal}{$default}" + echo -e "\n${bold}${note}\nOptional parameters:${normal}${default}" + echo -e "${lit}\n-1, Timeout for containers to STOP before error${default}" + echo -e "The number of seconds to wait for a docker container to STOP" + echo -e "before aborting the procedure and exiting this script with an" + echo -e "error." + echo -e "{info}Default: 120 seconds${default}" + echo -e "${lit}\n-2, Timeout for containers to START before error${default}" + echo -e "The number of seconds to wait for a docker container to START" + echo -e "before aborting the procedure and exiting this script with an" + echo -e "error." + echo -e "{info}Default: 180 seconds${default}" echo -e "${lit}\n-5, Location of 503 error page file${default}" echo -e "FULL PATH to the 503 error page HTML file you want copied to your" echo -e "webroot to inform users the server is down during the backup. If" @@ -57,16 +61,23 @@ function scriptHelp { echo -e "to connect and process your borg repo. Details on the structure of" echo -e "this file are in the readme and on ${lit}https://mytechiethoughts.com${default}" echo -e "${info}Default: ScriptPath/nc_borg.details${default}" + echo -e "${lit}\n-d, File name of the docker-compose configuration file${default}" + echo -e "Name of the docker-compose configuration file that Mailcow uses" + echo -e "to build/start/stop all containers. This will only be searched" + echo -e "for in the path found to contain your mailcow configuration file." + echo -e "${info}Default: docker-compose.yml${default}" echo -e "${lit}\n-l, Location to save log file${default}" - echo -e "This script writes a detailed log file of all activities. It is" + echo -e "This script writes a detailed log file of all activities. It is" echo -e "structured in an way easy for log parsers (like Logwatch) to read." echo -e "${info}Default: ScriptPath/ScriptName.log${default}" - echo -e "${lit}\n-s, Location of file with mySQL details${default}" - echo -e "FULL PATH to the plain text file containing all information needed" - echo -e "to connect to your mySQL (mariaDB) server and NextCloud database." - echo -e "Details on the structure of this file are in the readme and on ${lit}" - echo -e "https://mytechiethoughts.com${default}" - echo -e "${info}Default: ScriptPath/nc_sql.details${default}" + echo -e "${lit}\n-m, File name of the Mailcow build configuration file${default}" + echo -e "Name of the Mailcow master build configuration file that has all" + echo -e "variables and configuration info unique to your Mailcow setup." + echo -e "This script will search for any file matching what you specify" + echo -e "so please ensure you don't have multiple files laying around with" + echo -e "the same name! The path where this file is found is used for all" + echo -e "docker-based operations in this script." + echo -e "${info}Default: mailcow.conf${default}" echo -e "${lit}\n-v, Verbose output from borgbackup${default}" echo -e "By default, this script will only log summary data from borg." echo -e "If you need/want more detailed information, the verbose setting" @@ -795,7 +806,7 @@ echo -e "${bold}${op}${stamp} ***Normal exit process***${normal}" \ >> "$logFile" cleanup echo -e "${bold}${ok}${stamp} -- [SUCCESS] All processes completed" \ - "successfully --${normal}" >> "$logFile" + "successfully --${normal}" >> "$logFile" quit # This code should not be executed since the 'quit' function should terminate