mirror of
https://github.com/vmstan/gravity-sync.git
synced 2025-05-24 00:02:22 -04:00
3.2.2 (#132)
* start 3.2.2 * -z * != * “” * headers * Change to new PH_EXEC run * Empty list detection for CNAME * IGNORE list * Skip Gravity logic * oops * Two == to be super serious * variables are hard * change colors * the colors * I’m getting rusty * echo_lines * 3.2.2 Co-authored-by: Michael Stanclift <vmstan@sovereign.local>
This commit is contained in:
parent
1c033ef1f6
commit
b912f74ebb
@ -26,6 +26,10 @@ An example would be setting different caching options for Pi-hole, or specifying
|
|||||||
- Changes application of permissions for Docker instances to UID:GID instead of names. (#99/#128)
|
- Changes application of permissions for Docker instances to UID:GID instead of names. (#99/#128)
|
||||||
- Adds `./gravity-sync info` function to help with troubleshooting installation/configuration settings.
|
- Adds `./gravity-sync info` function to help with troubleshooting installation/configuration settings.
|
||||||
|
|
||||||
|
#### 3.2.2
|
||||||
|
|
||||||
|
- Restore process completely revamped. You can now choose to ignore any of the three elements during restore. The prompts are clearer and more consistent with Gravity Sync script styling. Importantly, lack of backup files in an element will not cause the restoration to fail.
|
||||||
|
|
||||||
## 3.1
|
## 3.1
|
||||||
|
|
||||||
### The Container Release
|
### The Container Release
|
||||||
|
@ -3,7 +3,7 @@ SCRIPT_START=$SECONDS
|
|||||||
|
|
||||||
# GRAVITY SYNC BY VMSTAN #####################
|
# GRAVITY SYNC BY VMSTAN #####################
|
||||||
PROGRAM='Gravity Sync'
|
PROGRAM='Gravity Sync'
|
||||||
VERSION='3.2.1'
|
VERSION='3.2.2'
|
||||||
|
|
||||||
# For documentation or downloading updates visit https://github.com/vmstan/gravity-sync
|
# For documentation or downloading updates visit https://github.com/vmstan/gravity-sync
|
||||||
# Requires Pi-Hole 5.x or higher already be installed, for help visit https://pi-hole.net
|
# Requires Pi-Hole 5.x or higher already be installed, for help visit https://pi-hole.net
|
||||||
|
@ -52,3 +52,8 @@ function echo_fail {
|
|||||||
function echo_need {
|
function echo_need {
|
||||||
echo -en "${NEED} ${MESSAGE}: "
|
echo -en "${NEED} ${MESSAGE}: "
|
||||||
}
|
}
|
||||||
|
|
||||||
|
### Lines
|
||||||
|
function echo_lines {
|
||||||
|
echo -e "========================================================"
|
||||||
|
}
|
||||||
|
@ -394,9 +394,9 @@ function config_delete {
|
|||||||
MESSAGE="Configuration File Exists"
|
MESSAGE="Configuration File Exists"
|
||||||
echo_warn
|
echo_warn
|
||||||
|
|
||||||
echo -e "========================================================"
|
echo_lines
|
||||||
cat ${LOCAL_FOLDR}/${CONFIG_FILE}
|
cat ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
echo -e "========================================================"
|
echo_lines
|
||||||
|
|
||||||
MESSAGE="Are you sure you want to erase this configuration?"
|
MESSAGE="Are you sure you want to erase this configuration?"
|
||||||
echo_warn
|
echo_warn
|
||||||
|
@ -30,76 +30,152 @@ function restore_gs {
|
|||||||
MESSAGE="This will restore your settings on $HOSTNAME with a previous version!"
|
MESSAGE="This will restore your settings on $HOSTNAME with a previous version!"
|
||||||
echo_warn
|
echo_warn
|
||||||
|
|
||||||
MESSAGE="PREVIOUS BACKUPS AVAILABLE FOR RESTORATION"
|
GRAVITY_DATE_LIST=$(ls ${LOCAL_FOLDR}/${BACKUP_FOLD} | grep $(date +%Y) | grep ${GRAVITY_FI} | colrm 18)
|
||||||
|
|
||||||
|
if [ "${GRAVITY_DATE_LIST}" != "" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Previous ${GRAVITY_FI} Versions Available to Restore"
|
||||||
echo_info
|
echo_info
|
||||||
|
|
||||||
|
echo_lines
|
||||||
ls ${LOCAL_FOLDR}/${BACKUP_FOLD} | grep $(date +%Y) | grep ${GRAVITY_FI} | colrm 18
|
ls ${LOCAL_FOLDR}/${BACKUP_FOLD} | grep $(date +%Y) | grep ${GRAVITY_FI} | colrm 18
|
||||||
|
echo -e "IGNORE-GRAVITY"
|
||||||
|
echo_lines
|
||||||
|
|
||||||
MESSAGE="Select backup date to restore ${GRAVITY_FI} from"
|
MESSAGE="Select backup date to restore ${GRAVITY_FI} from"
|
||||||
echo_need
|
echo_need
|
||||||
read INPUT_BACKUP_DATE
|
read INPUT_BACKUP_DATE
|
||||||
|
|
||||||
if [ -f ${LOCAL_FOLDR}/${BACKUP_FOLD}/${INPUT_BACKUP_DATE}-${GRAVITY_FI}.backup ]
|
if [ "$INPUT_BACKUP_DATE" == "IGNORE-GRAVITY" ]
|
||||||
then
|
then
|
||||||
MESSAGE="Backup File Selected"
|
MESSAGE="Skipping Gravity"
|
||||||
|
echo_warn
|
||||||
|
elif [ -f ${LOCAL_FOLDR}/${BACKUP_FOLD}/${INPUT_BACKUP_DATE}-${GRAVITY_FI}.backup ]
|
||||||
|
then
|
||||||
|
MESSAGE="Backup Selected"
|
||||||
|
echo_good
|
||||||
|
|
||||||
|
DO_GRAVITY_RESTORE='1'
|
||||||
else
|
else
|
||||||
MESSAGE="Invalid Request"
|
MESSAGE="Invalid Request"
|
||||||
echo_info
|
echo_info
|
||||||
|
|
||||||
exit_nochange
|
exit_nochange
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$SKIP_CUSTOM" != '1' ]
|
if [ "$SKIP_CUSTOM" != '1' ]
|
||||||
then
|
then
|
||||||
|
|
||||||
if [ -f ${PIHOLE_DIR}/${CUSTOM_DNS} ]
|
if [ -f ${PIHOLE_DIR}/${CUSTOM_DNS} ]
|
||||||
then
|
then
|
||||||
|
CUSTOM_DATE_LIST=$(ls ${LOCAL_FOLDR}/${BACKUP_FOLD} | grep $(date +%Y) | grep ${CUSTOM_DNS} | colrm 18)
|
||||||
|
|
||||||
|
if [ "${CUSTOM_DATE_LIST}" != "" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Previous ${CUSTOM_DNS} Versions Available to Restore"
|
||||||
|
echo_info
|
||||||
|
|
||||||
|
echo_lines
|
||||||
ls ${LOCAL_FOLDR}/${BACKUP_FOLD} | grep $(date +%Y) | grep ${CUSTOM_DNS} | colrm 18
|
ls ${LOCAL_FOLDR}/${BACKUP_FOLD} | grep $(date +%Y) | grep ${CUSTOM_DNS} | colrm 18
|
||||||
|
echo -e "IGNORE-CUSTOM"
|
||||||
|
echo_lines
|
||||||
|
|
||||||
MESSAGE="Select backup date to restore ${CUSTOM_DNS} from"
|
MESSAGE="Select backup date to restore ${CUSTOM_DNS} from"
|
||||||
echo_need
|
echo_need
|
||||||
read INPUT_DNSBACKUP_DATE
|
read INPUT_DNSBACKUP_DATE
|
||||||
|
|
||||||
if [ -f ${LOCAL_FOLDR}/${BACKUP_FOLD}/${INPUT_DNSBACKUP_DATE}-${CUSTOM_DNS}.backup ]
|
if [ "$INPUT_DNSBACKUP_DATE" == "IGNORE-CUSTOM" ]
|
||||||
then
|
then
|
||||||
MESSAGE="Backup File Selected"
|
MESSAGE="Skipping DNS"
|
||||||
|
echo_warn
|
||||||
|
elif [ -f ${LOCAL_FOLDR}/${BACKUP_FOLD}/${INPUT_DNSBACKUP_DATE}-${CUSTOM_DNS}.backup ]
|
||||||
|
then
|
||||||
|
MESSAGE="Backup Selected"
|
||||||
|
echo_good
|
||||||
|
|
||||||
|
DO_CUSTOM_RESTORE='1'
|
||||||
else
|
else
|
||||||
MESSAGE="Invalid Request"
|
MESSAGE="Invalid Request"
|
||||||
echo_info
|
echo_fail
|
||||||
|
|
||||||
exit_nochange
|
exit_nochange
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
MESSAGE="No ${CUSTOM_DNS} Backups"
|
||||||
|
echo_info
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$INCLUDE_CNAME" == '1' ]
|
if [ "$INCLUDE_CNAME" == '1' ]
|
||||||
then
|
then
|
||||||
|
|
||||||
if [ -f ${DNSMAQ_DIR}/${CNAME_CONF} ]
|
if [ -f ${DNSMAQ_DIR}/${CNAME_CONF} ]
|
||||||
then
|
then
|
||||||
|
CNAME_DATE_LIST=$(ls ${LOCAL_FOLDR}/${BACKUP_FOLD} | grep $(date +%Y) | grep ${CNAME_CONF} | colrm 18)
|
||||||
|
|
||||||
|
if [ "${CNAME_DATE_LIST}" != "" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Previous ${CNAME_CONF} Versions Available to Restore"
|
||||||
|
echo_info
|
||||||
|
|
||||||
|
echo_lines
|
||||||
ls ${LOCAL_FOLDR}/${BACKUP_FOLD} | grep $(date +%Y) | grep ${CNAME_CONF} | colrm 18
|
ls ${LOCAL_FOLDR}/${BACKUP_FOLD} | grep $(date +%Y) | grep ${CNAME_CONF} | colrm 18
|
||||||
|
echo -e "IGNORE-CNAME"
|
||||||
|
echo_lines
|
||||||
|
|
||||||
MESSAGE="Select backup date to restore ${CNAME_CONF} from"
|
MESSAGE="Select backup date to restore ${CNAME_CONF} from"
|
||||||
echo_need
|
echo_need
|
||||||
read INPUT_CNAMEBACKUP_DATE
|
read INPUT_CNAMEBACKUP_DATE
|
||||||
|
|
||||||
if [ -f ${LOCAL_FOLDR}/${BACKUP_FOLD}/${INPUT_CNAMEBACKUP_DATE}-${CNAME_CONF}.backup ]
|
if [ "$INPUT_CNAMEBACKUP_DATE" == "IGNORE-CNAME" ]
|
||||||
then
|
then
|
||||||
MESSAGE="Backup File Selected"
|
MESSAGE="Skipping CNAME"
|
||||||
|
echo_warn
|
||||||
|
elif [ -f ${LOCAL_FOLDR}/${BACKUP_FOLD}/${INPUT_CNAMEBACKUP_DATE}-${CNAME_CONF}.backup ]
|
||||||
|
then
|
||||||
|
MESSAGE="Backup Selected"
|
||||||
|
echo_good
|
||||||
|
|
||||||
|
DO_CNAME_RESTORE='1'
|
||||||
else
|
else
|
||||||
MESSAGE="Invalid Request"
|
MESSAGE="Invalid Request"
|
||||||
echo_info
|
echo_fail
|
||||||
|
|
||||||
exit_nochange
|
exit_nochange
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
MESSAGE="No ${CNAME_CONF} Backups"
|
||||||
|
echo_info
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$DO_GRAVITY_RESTORE" == "1" ]
|
||||||
|
then
|
||||||
MESSAGE="${GRAVITY_FI} from ${INPUT_BACKUP_DATE} Selected"
|
MESSAGE="${GRAVITY_FI} from ${INPUT_BACKUP_DATE} Selected"
|
||||||
echo_info
|
echo_info
|
||||||
|
else
|
||||||
|
MESSAGE="${GRAVITY_FI} Restore Unavailable"
|
||||||
|
echo_info
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$DO_CUSTOM_RESTORE" == "1" ]
|
||||||
|
then
|
||||||
MESSAGE="${CUSTOM_DNS} from ${INPUT_DNSBACKUP_DATE} Selected"
|
MESSAGE="${CUSTOM_DNS} from ${INPUT_DNSBACKUP_DATE} Selected"
|
||||||
echo_info
|
echo_info
|
||||||
|
else
|
||||||
|
MESSAGE="${CUSTOM_DNS} Restore Unavailable"
|
||||||
|
echo_info
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$DO_CNAME_RESTORE" == "1" ]
|
||||||
|
then
|
||||||
MESSAGE="${CNAME_CONF} from ${INPUT_CNAMEBACKUP_DATE} Selected"
|
MESSAGE="${CNAME_CONF} from ${INPUT_CNAMEBACKUP_DATE} Selected"
|
||||||
echo_info
|
echo_info
|
||||||
|
else
|
||||||
|
MESSAGE="${CNAME_CONF} Restore Unavailable"
|
||||||
|
echo_info
|
||||||
|
fi
|
||||||
|
|
||||||
intent_validate
|
intent_validate
|
||||||
|
|
||||||
@ -109,9 +185,11 @@ function restore_gs {
|
|||||||
MESSAGE="Stopping Pi-hole Services"
|
MESSAGE="Stopping Pi-hole Services"
|
||||||
echo_stat
|
echo_stat
|
||||||
|
|
||||||
sudo service pihole-FTL stop >/dev/null 2>&1
|
${PH_EXEC} stop >/dev/null 2>&1
|
||||||
error_validate
|
error_validate
|
||||||
|
|
||||||
|
if [ "$DO_CUSTOM_RESTORE" == "1" ]
|
||||||
|
then
|
||||||
MESSAGE="Restoring ${GRAVITY_FI} on $HOSTNAME"
|
MESSAGE="Restoring ${GRAVITY_FI} on $HOSTNAME"
|
||||||
echo_stat
|
echo_stat
|
||||||
sudo cp ${LOCAL_FOLDR}/${BACKUP_FOLD}/${INPUT_BACKUP_DATE}-${GRAVITY_FI}.backup ${PIHOLE_DIR}/${GRAVITY_FI} >/dev/null 2>&1
|
sudo cp ${LOCAL_FOLDR}/${BACKUP_FOLD}/${INPUT_BACKUP_DATE}-${GRAVITY_FI}.backup ${PIHOLE_DIR}/${GRAVITY_FI} >/dev/null 2>&1
|
||||||
@ -154,8 +232,9 @@ function restore_gs {
|
|||||||
sudo chmod 664 ${PIHOLE_DIR}/${GRAVITY_FI} >/dev/null 2>&1
|
sudo chmod 664 ${PIHOLE_DIR}/${GRAVITY_FI} >/dev/null 2>&1
|
||||||
error_validate
|
error_validate
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$SKIP_CUSTOM" != '1' ]
|
if [ "$DO_CUSTOM_RESTORE" == '1' ]
|
||||||
then
|
then
|
||||||
if [ -f ${LOCAL_FOLDR}/${BACKUP_FOLD}/${INPUT_DNSBACKUP_DATE}-${CUSTOM_DNS}.backup ]
|
if [ -f ${LOCAL_FOLDR}/${BACKUP_FOLD}/${INPUT_DNSBACKUP_DATE}-${CUSTOM_DNS}.backup ]
|
||||||
then
|
then
|
||||||
@ -204,7 +283,7 @@ function restore_gs {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$INCLUDE_CNAME" == '1' ]
|
if [ "$DO_CNAME_RESTORE" == '1' ]
|
||||||
then
|
then
|
||||||
if [ -f ${LOCAL_FOLDR}/${BACKUP_FOLD}/${INPUT_CNAMEBACKUP_DATE}-${CNAME_CONF}.backup ]
|
if [ -f ${LOCAL_FOLDR}/${BACKUP_FOLD}/${INPUT_CNAMEBACKUP_DATE}-${CNAME_CONF}.backup ]
|
||||||
then
|
then
|
||||||
|
@ -39,7 +39,7 @@ function update_gs {
|
|||||||
|
|
||||||
## Show Version
|
## Show Version
|
||||||
function show_version {
|
function show_version {
|
||||||
echo -e "========================================================"
|
echo_lines
|
||||||
MESSAGE="${BOLD}${PROGRAM}${NC} by ${CYAN}@vmstan${NC}"
|
MESSAGE="${BOLD}${PROGRAM}${NC} by ${CYAN}@vmstan${NC}"
|
||||||
echo_info
|
echo_info
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ function show_version {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
echo_info
|
echo_info
|
||||||
echo -e "========================================================"
|
echo_lines
|
||||||
}
|
}
|
||||||
|
|
||||||
function show_info() {
|
function show_info() {
|
||||||
@ -87,7 +87,7 @@ function show_info() {
|
|||||||
DEVVERSION=""
|
DEVVERSION=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo -e "========================================================"
|
echo_lines
|
||||||
echo -e "${YELLOW}Local Software Versions${NC}"
|
echo -e "${YELLOW}Local Software Versions${NC}"
|
||||||
echo -e "${RED}Gravity Sync${NC} ${VERSION}${DEVVERSION}"
|
echo -e "${RED}Gravity Sync${NC} ${VERSION}${DEVVERSION}"
|
||||||
echo -e "${BLUE}Pi-hole${NC}"
|
echo -e "${BLUE}Pi-hole${NC}"
|
||||||
@ -199,7 +199,7 @@ function show_info() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo -e "Remote File Owner Settings: ${RILE_OWNER}"
|
echo -e "Remote File Owner Settings: ${RILE_OWNER}"
|
||||||
echo -e "========================================================"
|
echo_lines
|
||||||
}
|
}
|
||||||
|
|
||||||
## Devmode Task
|
## Devmode Task
|
||||||
|
Loading…
x
Reference in New Issue
Block a user