Update nodemgmt-scripts.sh

This commit is contained in:
2019-01-27 15:14:25 -06:00
parent 88260d1c85
commit ba5b8fc051

View File

@@ -6,102 +6,20 @@ FOLDER='/opt/nodemgmt'
VERS='1.01272019'
CERT_DAEMON='/usr/bin/certbot'
source /opt/mysqlbu/settings.conf
source /dev/stdin <<< "$(curl -sL https://git.schroedercity.com/voltron/Misc-Scripts/raw/master/colors.inc)"
source /dev/stdin <<< "$(curl -sL https://git.schroedercity.com/voltron/Misc-Scripts/raw/master/default.inc)"
source ${folder}/settings.conf
source ${folder}/ids-defaults/colors.conf
source ${folder}/ids-defaults/default.conf
# ========================================================= #
if [ $(id -u) != "0" ]; then
echo "Sorry, I need root privileges!"
exit 1
fi
MYSQLDATA="`grep --perl-regexp --only-match '(?<=datadir=).+' "$MYSQLCFG"`"
DAY_BACKUP_DIR="${BACKUP_PATH}`date +%Y-%m-%d`/"
BASE_BACKUP="`ls -1 $DAY_BACKUP_DIR 2> /dev/null | grep --max-count=1 --perl-regexp '^.+_BASE'`"
LIST_BACKUPS(){
mysqlbu list
read -n 1 -s -p "Press any key to continue"
}
RUN_BACKUP(){
mysqlbu backup
echo ""
read -n 1 -s -p "Press any key to continue"
}
ADD_CRONTAB(){
(crontab -l ; echo "0 */3 * * * /usr/local/bin/mysqlbu backup")| crontab -
echo ""
echo -e "${idsCL[Green]}The crontab entry has been made${idsCL[Default]}"
echo ""
read -n 1 -s -p "Press any key to continue"
}
DELETE_BACKUP() {
if [ "$1" = "M" ] || [ "$1" = "m" ]; then MAIN_MENU;
elif [ "$1" = "Q" ] || [ "$1" = "q" ]; then EXIT1; fi
declare -A tbus
tba=1
for day in $BACKUP_PATH* ; do
tbus[${tba}]=$day
tbb=0
for hour in $day/* ; do
tbus[${tba}${abet[${tbb}]}]=$hour
tbb=`expr $tbb + 1`
done
tba=`expr $tba + 1`
done
[ ! ${tbus[$1]+abc} ] && {
echo -e -n "${idsCL[LightRed]}Incorrect entry, please try again... (press any key)${idsCL[Default]}";
read -n 1
DELETE_MENU
}
sbu1=${tbus[$1]}
thr=`echo ${sbu1//_BASE/} | sed 's/.*\///'`
bsz=`du -sh ${sbu1} | awk '{print $1}'`
IFS=/
sbu1a=(${tbus[$1]})
unset IFS
echo ""
if [ ${#1} = 1 ] ; then
echo -e "Backup selected: ${idsST[Bold]}${idsCL[Red]}`date -d"${sbu1a[4]}" +"%A, %B %d, %Y"` - (Entire Day) - (${bsz})${idsST[Reset]}"
echo -e "${idsCL[Red]}(This will DELETE the entire days worth of backups for the date selected.)"${idsCL[Default]}
delbu=${sbu1}
elif [ "${sbu1a[5]: -5}" = "_BASE" ]; then
echo -e "Backup selected: ${idsST[Bold]}${idsCL[Red]}`date -d"${sbu1a[4]} ${thr//-/:}" +"%A, %B %d, %Y - %I:%M %P"` - Full Backup - (${bsz})${idsST[Reset]}"
echo -e "${idsCL[Red]}(This is a daily base backup, and will result in the full day being DELETED.)"${idsCL[Default]}
delbu="/${sbu1a[1]}/${sbu1a[2]}/${sbu1a[3]}/${sbu1a[4]}"
else
echo -e "Backup selected: ${idsST[Bold]}${idsCL[Red]}`date -d"${sbu1a[4]} ${thr//-/:}" +"%A, %B %d, %Y - %I:%M %P"` - Incremental - (${bsz})${idsST[Reset]}"
delbu=${sbu1}
fi
read -p "Are you sure you wish to DELETE this backup (y/N)?" choice
case "$choice" in
[Yy])
rm -rf $delbu
#echo "rm -rf $delbu"
echo ""
echo -e "${idsCL[LightRed]}Backup has been deleted${idsCL[Default]}"
read -n 1 -s -p "Press any key to continue";;
* ) DELETE_MENU;;
esac
}
MAIN_MENU() {
while :
do
clear
echo ""
echo -e "${idsCL[LightGreen]} MySQL-BU - M y S Q L B A C K U P S C R I P T S${idsCL[Default]} ${idsCL[DarkGray]}(ver-${VERS})${idsCL[Default]}"
echo -e "${idsCL[LightGreen]} NodeMgmt - G a l e r a / N G I N X N o d e M a n a g e m e n t${idsCL[Default]} ${idsCL[DarkGray]}(ver-${VERS})${idsCL[Default]}"
echo -e "${idsCL[LightGreen]}---------------------------------------------------------------------------${idsCL[Default]}"
echo -e "Backups Location: ${idsCL[LightBlue]}${BACKUP_PATH}${idsCL[Default]}"
echo -e "MySQL User: ${idsCL[LightBlue]}${MYSQLUSER}${idsCL[Default]}"
echo -e "MySQL Password: ${idsCL[LightBlue]}****${idsCL[Default]}"
echo -e "MySQL Config File: ${idsCL[LightBlue]}${MYSQLCFG}${idsCL[Default]}"
echo -e "# of Days to Keep: ${idsCL[LightBlue]}${BACKUPSTOKEEP}${idsCL[Default]}"
echo -e "Node hostname: ${node_hostname}"
echo -e "${idsCL[LightGreen]}---------------------------------------------------------------------------${idsCL[Default]}"
echo ""
echo " [1] Change Backup Location"
@@ -146,47 +64,6 @@ MAIN_MENU() {
esac
done
}
DELETE_MENU() {
while :
do
clear
echo ""
echo -e "${idsCL[LightGreen]} MySQL-BU - M y S Q L B A C K U P S C R I P T S${idsCL[Default]} ${idsCL[DarkGray]}(ver-${VERS})${idsCL[Default]}"
echo -e "${idsCL[LightGreen]}---------------------------------------------------------------------------${idsCL[Default]}"
echo ""
echo -e "${idsCL[LightYellow]}========== Select Which Backup to Delete ==========${idsCL[Default]}"
tba=1
for day in $BACKUP_PATH* ; do
#tdt=`sed 's/.*\///' <<< $day`
tdt=`echo $day | sed 's/.*\///'`
bsz=`du -sh ${day} | awk '{print $1}'`
echo -e "${idsBG[Blue]}${idsCL[LightYellow]}(${tba})${idsCL[White]} -> `date -d"${tdt}" +"%A, %B %d, %Y"` - ${bsz} ${idsCL[Default]}${idsBG[Default]}"
tbb=0
for hour in $day/* ; do
#thr=`sed 's/.*\///' <<< ${hour//_BASE/}`
thr=`echo ${hour//_BASE/} | sed 's/.*\///'`
bsz=`du -sh ${hour} | awk '{print $1}'`
if [ ${hour: -5} = "_BASE" ]; then
echo -e "${idsCL[LightYellow]}(${tba}${abet[${tbb}]^^})${idsCL[LightGreen]}${idsST[Bold]} -> `date -d"${tdt} ${thr//-/:}" +"%I:%M %P"` - FULL BACKUP${idsST[Reset]}${idsCL[LightGreen]} - ${bsz}${idsCL[Default]}"
else
echo -e "${idsCL[LightYellow]}(${tba}${abet[${tbb}]^^})${idsCL[Cyan]} -> `date -d"${tdt} ${thr//-/:}" +"%I:%M %P"` - Incremental - ${bsz}${idsCL[Default]}"
fi
tbb=`expr $tbb + 1`
done
tba=`expr $tba + 1`
done
echo -e "${idsCL[Yellow]}===================================================${idsCL[Default]}"
echo ""
echo "[M] Main Menu"
echo "[Q] Quit"
echo ""
echo ""
echo -e -n "${idsCL[LightYellow]}Please select a backup from above from above:${idsCL[Default]} "
read -n 2 opt
echo ""
DELETE_BACKUP $opt
done
}
case $1 in
'backup')
@@ -314,7 +191,7 @@ case $1 in
DELETE_MENU
;;
*)
echo "Usage: $0 { backup | backup-base | backup-incremental | restore | list | gui }"
echo "Usage: $0 { gui | backup | backup-base | backup-incremental | restore | list }"
;;
esac