From a816d3541890086b561d8de0223d2fc2e3bf5a00 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 25 May 2020 20:43:55 -0500 Subject: [PATCH 01/12] Testing carrage return --- README.md | 2 +- gravity-sync.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index de04ee8..b631217 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ Make sure you've set the REMOTE_HOST and REMOTE_USER variables with the IP (or D ``` REMOTE_HOST='192.168.1.10' -REMOTE_USER='*pi*' +REMOTE_USER='pi' ``` Do not set the `REMOTE_PASS` variable until you've read the next section on SSH. diff --git a/gravity-sync.sh b/gravity-sync.sh index e0c1a66..7e22fef 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -382,7 +382,7 @@ function md5_compare { # SCRIPT EXECUTION ########################### MESSAGE="Evaluating Script Arguments" - echo -e "${STAT} ${MESSAGE}" + echo -e "${STAT} ${MESSAGE}" \r case $# in From 286e62bdf470c90d3f977fa31755e1651da27cbd Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 25 May 2020 20:45:03 -0500 Subject: [PATCH 02/12] Update gravity-sync.sh --- gravity-sync.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index 7e22fef..037cf7c 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -382,7 +382,7 @@ function md5_compare { # SCRIPT EXECUTION ########################### MESSAGE="Evaluating Script Arguments" - echo -e "${STAT} ${MESSAGE}" \r + echo -e "${STAT} ${MESSAGE}\r" case $# in From a80eed3c4e9b3bf633c8647c2fe8621044c2cc71 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 25 May 2020 20:53:32 -0500 Subject: [PATCH 03/12] Update gravity-sync.sh --- gravity-sync.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index 037cf7c..616421c 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -382,12 +382,12 @@ function md5_compare { # SCRIPT EXECUTION ########################### MESSAGE="Evaluating Script Arguments" - echo -e "${STAT} ${MESSAGE}\r" + echo -en "${STAT} ${MESSAGE}" case $# in 0) - echo -e "${FAIL} ${MESSAGE}" + echo -e "\\r${FAIL} ${MESSAGE}" list_gs_arguments ;; From b4c6ef42c3e5dc7766c4d76f35e3991ff1fca9b6 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 25 May 2020 20:56:59 -0500 Subject: [PATCH 04/12] Update gravity-sync.sh --- gravity-sync.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index 616421c..37718fa 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -387,7 +387,7 @@ function md5_compare { case $# in 0) - echo -e "\\r${FAIL} ${MESSAGE}" + echo -e "\033[2k${FAIL} ${MESSAGE}" list_gs_arguments ;; From d85845560f18e48b069e97cb7baef7502c714c41 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 25 May 2020 20:58:43 -0500 Subject: [PATCH 05/12] Update gravity-sync.sh --- gravity-sync.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index 37718fa..616421c 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -387,7 +387,7 @@ function md5_compare { case $# in 0) - echo -e "\033[2k${FAIL} ${MESSAGE}" + echo -e "\\r${FAIL} ${MESSAGE}" list_gs_arguments ;; From 50a43d26f6d9d3d53aca6eb9272d296ef9b0e98d Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 25 May 2020 21:05:28 -0500 Subject: [PATCH 06/12] Update gravity-sync.sh --- gravity-sync.sh | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index 616421c..8935db4 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -387,14 +387,14 @@ function md5_compare { case $# in 0) - echo -e "\\r${FAIL} ${MESSAGE}" + echo -e "\r${FAIL} ${MESSAGE}" list_gs_arguments ;; 1) case $1 in pull) - echo -e "${GOOD} ${MESSAGE}" + echo -e "\r${GOOD} ${MESSAGE}" import_gs @@ -409,7 +409,7 @@ case $# in ;; push) - echo -e "${GOOD} ${MESSAGE}" + echo -e "\r${GOOD} ${MESSAGE}" import_gs @@ -430,7 +430,7 @@ case $# in update) # TASKTYPE='UPDATE' - echo -e "${GOOD} ${MESSAGE}" + echo -e "\r${GOOD} ${MESSAGE}" echo -e "${INFO} Update Requested" update_gs @@ -439,7 +439,7 @@ case $# in beta) # TASKTYPE='BETA' - echo -e "${GOOD} ${MESSAGE}" + echo -e "$\r{GOOD} ${MESSAGE}" echo -e "${INFO} Beta Update Requested" beta_gs @@ -448,15 +448,18 @@ case $# in logs) TASKTYPE='LOGS' + + echo -e "\r${GOOD} ${MESSAGE}" + MESSAGE="Logs Requested" - echo -e "${GOOD} ${MESSAGE}" + echo -e "${INFO} ${MESSAGE}" logs_gs ;; compare) TASKTYPE='COMPARE' - echo -e "${GOOD} ${MESSAGE}" + echo -e "\r${GOOD} ${MESSAGE}" import_gs echo -e "${INFO} Validating Folder Configuration" @@ -469,7 +472,7 @@ case $# in cron) TASKTYPE='CRON' - echo -e "${GOOD} ${MESSAGE}" + echo -e "\r${GOOD} ${MESSAGE}" CRONPATH="$HOME/${LOCAL_FOLDR}/${CRONJOB_LOG}" @@ -496,8 +499,7 @@ case $# in ;; *) - MESSAGE="'${YELLOW}$1${NC}' is an Invalid Argument" - echo -e "${FAIL} ${MESSAGE}" + echo -e "\r${FAIL} ${MESSAGE}" list_gs_arguments exit_nochange ;; @@ -505,8 +507,7 @@ case $# in ;; *) - MESSAGE="Too Many Arguments" - echo -e "${FAIL} ${MESSAGE}" + echo -e "\r${FAIL} ${MESSAGE}" list_gs_arguments exit_nochange ;; From 5714d1bbb3597ee6e0808e4be5c9c94482e75d05 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 25 May 2020 21:16:31 -0500 Subject: [PATCH 07/12] dev/null all the things --- gravity-sync.sh | 123 +++++++++++++++++++++++++----------------------- 1 file changed, 64 insertions(+), 59 deletions(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index 8935db4..9e24cd4 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -52,7 +52,7 @@ INFO="[${YELLOW}INFO${NC}]" # Import Settings function import_gs { MESSAGE="Importing ${CONFIG_FILE} Settings" - echo -e "${STAT} $MESSAGE" + echo -en "${STAT} $MESSAGE" if [ -f $HOME/${LOCAL_FOLDR}/${CONFIG_FILE} ] then source $HOME/${LOCAL_FOLDR}/${CONFIG_FILE} @@ -62,7 +62,7 @@ function import_gs { echo -e "${INFO} ${MESSAGE}" else - echo -e "${FAIL} ${MESSAGE}" + echo -e "/r${FAIL} ${MESSAGE}" MESSAGE="${CONFIG_FILE} Missing" echo -e "${INFO} ${MESSAGE}" @@ -106,40 +106,40 @@ function pull_gs { md5_compare MESSAGE="Pulling ${GRAVITY_FI} from ${REMOTE_HOST}" - echo -e "${STAT} ${MESSAGE}" - ${SSHPASSWORD} rsync -v -e 'ssh -p 22' ${REMOTE_USER}@${REMOTE_HOST}:${PIHOLE_DIR}/${GRAVITY_FI} $HOME/${LOCAL_FOLDR}/${BACKUP_FOLD}/${GRAVITY_FI}.pull + echo -en "${STAT} ${MESSAGE}" + ${SSHPASSWORD} rsync -v -e 'ssh -p 22' ${REMOTE_USER}@${REMOTE_HOST}:${PIHOLE_DIR}/${GRAVITY_FI} $HOME/${LOCAL_FOLDR}/${BACKUP_FOLD}/${GRAVITY_FI}.pull >/dev/null 2>&1 error_validate MESSAGE="Backing Up ${GRAVITY_FI} on $HOSTNAME" - echo -e "${STAT} ${MESSAGE}" - cp -v ${PIHOLE_DIR}/${GRAVITY_FI} $HOME/${LOCAL_FOLDR}/${BACKUP_FOLD}/${GRAVITY_FI}.backup + echo -en "${STAT} ${MESSAGE}" + cp -v ${PIHOLE_DIR}/${GRAVITY_FI} $HOME/${LOCAL_FOLDR}/${BACKUP_FOLD}/${GRAVITY_FI}.backup >/dev/null 2>&1 error_validate MESSAGE="Replacing ${GRAVITY_FI} on $HOSTNAME" - echo -e "${STAT} ${MESSAGE}" - sudo cp -v $HOME/${LOCAL_FOLDR}/${BACKUP_FOLD}/${GRAVITY_FI}.pull ${PIHOLE_DIR}/${GRAVITY_FI} + echo -en "${STAT} ${MESSAGE}" + sudo cp -v $HOME/${LOCAL_FOLDR}/${BACKUP_FOLD}/${GRAVITY_FI}.pull ${PIHOLE_DIR}/${GRAVITY_FI} >/dev/null 2>&1 error_validate MESSAGE="Setting Permissions on ${GRAVITY_FI}" - echo -e "${STAT} ${MESSAGE}" - sudo chmod 644 ${PIHOLE_DIR}/${GRAVITY_FI} + echo -en "${STAT} ${MESSAGE}" + sudo chmod 644 ${PIHOLE_DIR}/${GRAVITY_FI} >/dev/null 2>&1 error_validate MESSAGE="Setting Ownership on ${GRAVITY_FI}" - echo -e "${STAT} ${MESSAGE}" - sudo chown pihole:pihole ${PIHOLE_DIR}/${GRAVITY_FI} + echo -en "${STAT} ${MESSAGE}" + sudo chown pihole:pihole ${PIHOLE_DIR}/${GRAVITY_FI} >/dev/null 2>&1 error_validate sleep 3 MESSAGE="Updating FTLDNS Configuration" - echo -e "${STAT} ${MESSAGE}" - pihole restartdns reloadlists + echo -en "${STAT} ${MESSAGE}" + pihole restartdns reloadlists >/dev/null 2>&1 error_validate MESSAGE="Reloading FTLDNS Services" - echo -e "${STAT} ${MESSAGE}" - pihole restartdns + echo -en "${STAT} ${MESSAGE}" + pihole restartdns >/dev/null 2>&1 error_validate logs_export @@ -159,34 +159,34 @@ function push_gs { Yes ) MESSAGE="Backing Up ${GRAVITY_FI} from ${REMOTE_HOST}" - echo -e "${STAT} ${MESSAGE}" + echo -en "${STAT} ${MESSAGE}" ${SSHPASSWORD} rsync -v -e 'ssh -p 22' ${REMOTE_USER}@${REMOTE_HOST}:${PIHOLE_DIR}/${GRAVITY_FI} $HOME/${LOCAL_FOLDR}/${BACKUP_FOLD}/${GRAVITY_FI}.push error_validate MESSAGE="Pushing ${GRAVITY_FI} to ${REMOTE_HOST}" - echo -e "${STAT} ${MESSAGE}" + echo -en "${STAT} ${MESSAGE}" ${SSHPASSWORD} rsync --rsync-path="sudo rsync" -v -e 'ssh -p 22' ${PIHOLE_DIR}/${GRAVITY_FI} ${REMOTE_USER}@${REMOTE_HOST}:${PIHOLE_DIR}/${GRAVITY_FI} error_validate MESSAGE="Setting Permissions on ${GRAVITY_FI}" - echo -e "${STAT} ${MESSAGE}" + echo -en "${STAT} ${MESSAGE}" ${SSHPASSWORD} ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo chmod 644 ${PIHOLE_DIR}/${GRAVITY_FI}" error_validate MESSAGE="Setting Ownership on ${GRAVITY_FI}" - echo -e "${STAT} ${MESSAGE}" + echo -en "${STAT} ${MESSAGE}" ${SSHPASSWORD} ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo chown pihole:pihole ${PIHOLE_DIR}/${GRAVITY_FI}" error_validate sleep 3 MESSAGE="Updating FTLDNS Configuration" - echo -e "${STAT} ${MESSAGE}" + echo -en "${STAT} ${MESSAGE}" ${SSHPASSWORD} ssh ${REMOTE_USER}@${REMOTE_HOST} 'pihole restartdns reloadlists' error_validate MESSAGE="Reloading FTLDNS Services" - echo -e "${STAT} ${MESSAGE}" + echo -en "${STAT} ${MESSAGE}" ${SSHPASSWORD} ssh ${REMOTE_USER}@${REMOTE_HOST} 'pihole restartdns' error_validate @@ -215,6 +215,31 @@ function logs_gs { exit_nochange } +## Crontab Logic +function show_crontab { + CRONPATH="$HOME/${LOCAL_FOLDR}/${CRONJOB_LOG}" + + MESSAGE="Replaying Last Cronjob" + echo -e "${STAT} ${MESSAGE}" + + if [ -f ${CRONPATH} ] + then + if [ -s ${CRONPATH} ] + echo -e "${GOOD} ${MESSAGE}" + logs_crontab + exit_nochange + then + echo -e "${FAIL} ${MESSAGE}" + echo -e "${INFO} ${CRONPATH} appears empty" + exit_nochange + fi + else + echo -e "${FAIL} ${MESSAGE}" + echo -e "${YELLOW}${CRONPATH}${NC} cannot be located" + exit_nochange + fi +} + ## Check Last Crontab function logs_crontab { echo -e "========================================================" @@ -237,22 +262,22 @@ function logs_export { ## Validate GS Folders function validate_gs_folders { MESSAGE="Locating $HOME/${LOCAL_FOLDR}" - echo -e "${STAT} ${MESSAGE}" + echo -en "${STAT} ${MESSAGE}" if [ -d $HOME/${LOCAL_FOLDR} ] then - echo -e "${GOOD} ${MESSAGE}" + echo -e "/r${GOOD} ${MESSAGE}" else - echo -e "${FAIL} ${MESSAGE}" + echo -e "/r${FAIL} ${MESSAGE}" exit_nochange fi MESSAGE="Locating $HOME/${LOCAL_FOLDR}/${BACKUP_FOLD}" - echo -e "${STAT} ${MESSAGE}" + echo -en "${STAT} ${MESSAGE}" if [ -d $HOME/${LOCAL_FOLDR}/${BACKUP_FOLD} ] then - echo -e "${GOOD} ${MESSAGE}" + echo -e "/r${GOOD} ${MESSAGE}" else - echo -e "${FAIL} ${MESSAGE}" + echo -e "/r${FAIL} ${MESSAGE}" exit_nochange fi } @@ -260,12 +285,12 @@ function validate_gs_folders { ## Validate PH Folders function validate_ph_folders { MESSAGE="Locating ${PIHOLE_DIR}" - echo -e "${STAT} ${MESSAGE}" + echo -en "${STAT} ${MESSAGE}" if [ -d ${PIHOLE_DIR} ] then - echo -e "${GOOD} ${MESSAGE}" + echo -e "/r${GOOD} ${MESSAGE}" else - echo -e "${FAIL} ${MESSAGE}" + echo -e "/r${FAIL} ${MESSAGE}" exit_nochange fi } @@ -299,8 +324,8 @@ function validate_os_sshpass { echo -e "${INFO} ${MESSAGE}" MESSAGE="Testing SSH Connection" - echo -e "${STAT} ${MESSAGE}" - timeout 5 ${SSHPASSWORD} ssh -o StrictHostKeyChecking=no ${REMOTE_USER}@${REMOTE_HOST} 'exit' + echo -en "${STAT} ${MESSAGE}" + timeout 5 ${SSHPASSWORD} ssh -o StrictHostKeyChecking=no ${REMOTE_USER}@${REMOTE_HOST} 'exit' >/dev/null 2>&1 error_validate } @@ -343,10 +368,10 @@ function exit_withchange { # Error Validation function error_validate { if [ "$?" != "0" ]; then - echo -e "${FAIL} ${MESSAGE}" + echo -e "/r${FAIL} ${MESSAGE}" exit 1 else - echo -e "${GOOD} ${MESSAGE}" + echo -e "/r${GOOD} ${MESSAGE}" fi } @@ -360,12 +385,12 @@ function md5_compare { echo -e "${INFO} Comparing ${GRAVITY_FI} Changes" MESSAGE="Analyzing Remote ${GRAVITY_FI}" - echo -e "${STAT} ${MESSAGE}" + echo -en "${STAT} ${MESSAGE}" primaryMD5=$(${SSHPASSWORD} ssh ${REMOTE_USER}@${REMOTE_HOST} 'md5sum /etc/pihole/gravity.db') error_validate MESSAGE="Analyzing Local ${GRAVITY_FI}" - echo -e "${STAT} ${MESSAGE}" + echo -en "${STAT} ${MESSAGE}" secondMD5=$(md5sum ${PIHOLE_DIR}/${GRAVITY_FI}) error_validate @@ -439,7 +464,7 @@ case $# in beta) # TASKTYPE='BETA' - echo -e "$\r{GOOD} ${MESSAGE}" + echo -e "\r${GOOD} ${MESSAGE}" echo -e "${INFO} Beta Update Requested" beta_gs @@ -474,27 +499,7 @@ case $# in TASKTYPE='CRON' echo -e "\r${GOOD} ${MESSAGE}" - CRONPATH="$HOME/${LOCAL_FOLDR}/${CRONJOB_LOG}" - - MESSAGE="Replaying Last Cronjob" - echo -e "${STAT} ${MESSAGE}" - - if [ -f ${CRONPATH} ] - then - if [ -s ${CRONPATH} ] - echo -e "${GOOD} ${MESSAGE}" - logs_crontab - exit_nochange - then - echo -e "${FAIL} ${MESSAGE}" - echo -e "${INFO} ${CRONPATH} appears empty" - exit_nochange - fi - else - echo -e "${FAIL} ${MESSAGE}" - echo -e "${YELLOW}${CRONPATH}${NC} cannot be located" - exit_nochange - fi + show_crontab ;; From 8cda87244ac95ebfcdd8aa3abc8eb0d1dd6adc2e Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 25 May 2020 21:18:31 -0500 Subject: [PATCH 08/12] Update gravity-sync.sh --- gravity-sync.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index 9e24cd4..8066bae 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -62,7 +62,7 @@ function import_gs { echo -e "${INFO} ${MESSAGE}" else - echo -e "/r${FAIL} ${MESSAGE}" + echo -e "\r${FAIL} ${MESSAGE}" MESSAGE="${CONFIG_FILE} Missing" echo -e "${INFO} ${MESSAGE}" @@ -265,9 +265,9 @@ function validate_gs_folders { echo -en "${STAT} ${MESSAGE}" if [ -d $HOME/${LOCAL_FOLDR} ] then - echo -e "/r${GOOD} ${MESSAGE}" + echo -e "\r${GOOD} ${MESSAGE}" else - echo -e "/r${FAIL} ${MESSAGE}" + echo -e "\r${FAIL} ${MESSAGE}" exit_nochange fi @@ -275,9 +275,9 @@ function validate_gs_folders { echo -en "${STAT} ${MESSAGE}" if [ -d $HOME/${LOCAL_FOLDR}/${BACKUP_FOLD} ] then - echo -e "/r${GOOD} ${MESSAGE}" + echo -e "\r${GOOD} ${MESSAGE}" else - echo -e "/r${FAIL} ${MESSAGE}" + echo -e "\r${FAIL} ${MESSAGE}" exit_nochange fi } @@ -288,9 +288,9 @@ function validate_ph_folders { echo -en "${STAT} ${MESSAGE}" if [ -d ${PIHOLE_DIR} ] then - echo -e "/r${GOOD} ${MESSAGE}" + echo -e "\r${GOOD} ${MESSAGE}" else - echo -e "/r${FAIL} ${MESSAGE}" + echo -e "\r${FAIL} ${MESSAGE}" exit_nochange fi } @@ -368,10 +368,10 @@ function exit_withchange { # Error Validation function error_validate { if [ "$?" != "0" ]; then - echo -e "/r${FAIL} ${MESSAGE}" + echo -e "\r${FAIL} ${MESSAGE}" exit 1 else - echo -e "/r${GOOD} ${MESSAGE}" + echo -e "\r${GOOD} ${MESSAGE}" fi } From efd06e7b7b49084e5bca08363ea8bbc4b9934f3c Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 25 May 2020 21:21:24 -0500 Subject: [PATCH 09/12] So clean --- gravity-sync.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index 8066bae..dec569b 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -160,34 +160,34 @@ function push_gs { MESSAGE="Backing Up ${GRAVITY_FI} from ${REMOTE_HOST}" echo -en "${STAT} ${MESSAGE}" - ${SSHPASSWORD} rsync -v -e 'ssh -p 22' ${REMOTE_USER}@${REMOTE_HOST}:${PIHOLE_DIR}/${GRAVITY_FI} $HOME/${LOCAL_FOLDR}/${BACKUP_FOLD}/${GRAVITY_FI}.push + ${SSHPASSWORD} rsync -v -e 'ssh -p 22' ${REMOTE_USER}@${REMOTE_HOST}:${PIHOLE_DIR}/${GRAVITY_FI} $HOME/${LOCAL_FOLDR}/${BACKUP_FOLD}/${GRAVITY_FI}.push >/dev/null 2>&1 error_validate MESSAGE="Pushing ${GRAVITY_FI} to ${REMOTE_HOST}" echo -en "${STAT} ${MESSAGE}" - ${SSHPASSWORD} rsync --rsync-path="sudo rsync" -v -e 'ssh -p 22' ${PIHOLE_DIR}/${GRAVITY_FI} ${REMOTE_USER}@${REMOTE_HOST}:${PIHOLE_DIR}/${GRAVITY_FI} + ${SSHPASSWORD} rsync --rsync-path="sudo rsync" -v -e 'ssh -p 22' ${PIHOLE_DIR}/${GRAVITY_FI} ${REMOTE_USER}@${REMOTE_HOST}:${PIHOLE_DIR}/${GRAVITY_FI} >/dev/null 2>&1 error_validate MESSAGE="Setting Permissions on ${GRAVITY_FI}" echo -en "${STAT} ${MESSAGE}" - ${SSHPASSWORD} ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo chmod 644 ${PIHOLE_DIR}/${GRAVITY_FI}" + ${SSHPASSWORD} ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo chmod 644 ${PIHOLE_DIR}/${GRAVITY_FI}" >/dev/null 2>&1 error_validate MESSAGE="Setting Ownership on ${GRAVITY_FI}" echo -en "${STAT} ${MESSAGE}" - ${SSHPASSWORD} ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo chown pihole:pihole ${PIHOLE_DIR}/${GRAVITY_FI}" + ${SSHPASSWORD} ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo chown pihole:pihole ${PIHOLE_DIR}/${GRAVITY_FI}" >/dev/null 2>&1 error_validate sleep 3 MESSAGE="Updating FTLDNS Configuration" echo -en "${STAT} ${MESSAGE}" - ${SSHPASSWORD} ssh ${REMOTE_USER}@${REMOTE_HOST} 'pihole restartdns reloadlists' + ${SSHPASSWORD} ssh ${REMOTE_USER}@${REMOTE_HOST} 'pihole restartdns reloadlists' >/dev/null 2>&1 error_validate MESSAGE="Reloading FTLDNS Services" echo -en "${STAT} ${MESSAGE}" - ${SSHPASSWORD} ssh ${REMOTE_USER}@${REMOTE_HOST} 'pihole restartdns' + ${SSHPASSWORD} ssh ${REMOTE_USER}@${REMOTE_HOST} 'pihole restartdns' >/dev/null 2>&1 error_validate logs_export From 3fe4af6bab133a03d1ff4509615f09daa555c50d Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 25 May 2020 21:28:30 -0500 Subject: [PATCH 10/12] Added runtime --- gravity-sync.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index dec569b..baddedd 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -361,7 +361,9 @@ function exit_nochange { ## Changes Made function exit_withchange { - echo -e "${INFO} ${PROGRAM} ${TASKTYPE} Completed" + SCRIPT_END='date +%s' + SCRIPT_RUNTIME=$((SCRIPT_END-SCRIPT_START)) + echo -e "${INFO} ${PROGRAM} ${TASKTYPE} Completed in ${SCRIPT_RUNTIME}" exit 0 } @@ -405,6 +407,7 @@ function md5_compare { } # SCRIPT EXECUTION ########################### +SCRIPT_START='date +%s' MESSAGE="Evaluating Script Arguments" echo -en "${STAT} ${MESSAGE}" From 7566415c143425a38b5a833e3ad92dfbc3484117 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 25 May 2020 21:35:25 -0500 Subject: [PATCH 11/12] Update gravity-sync.sh --- gravity-sync.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index baddedd..dded614 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -361,9 +361,8 @@ function exit_nochange { ## Changes Made function exit_withchange { - SCRIPT_END='date +%s' - SCRIPT_RUNTIME=$((SCRIPT_END-SCRIPT_START)) - echo -e "${INFO} ${PROGRAM} ${TASKTYPE} Completed in ${SCRIPT_RUNTIME}" + SCRIPT_END=$SECONDS + echo -e "${INFO} ${PROGRAM} ${TASKTYPE} Completed in $((SCRIPT_END-SCRIPT_START)) seconds" exit 0 } @@ -407,7 +406,7 @@ function md5_compare { } # SCRIPT EXECUTION ########################### -SCRIPT_START='date +%s' +SCRIPT_START=$SECONDS MESSAGE="Evaluating Script Arguments" echo -en "${STAT} ${MESSAGE}" From d787d7e457379866611fe23646fad25a66dfe424 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 25 May 2020 21:43:32 -0500 Subject: [PATCH 12/12] v1.3.2 --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b631217..05c16aa 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ What is better than a [Pi-hole](https://github.com/pi-hole/pi-hole) blocking ads That's Gravity Sync. -![Pull execution](https://user-images.githubusercontent.com/3002053/82774990-f88c6200-9e0b-11ea-97e5-23c8b38f32e3.png) +![Pull execution](https://user-images.githubusercontent.com/3002053/82855198-4074bd00-9ed0-11ea-96ca-65e0f3d9b71a.gif) -Gravity Sync will **not** overwrite device specific settings such as local network configuration, admin/API passwords/keys, upstream DNS resolvers, etc. It will also **not** keep DHCP settings or device leases synchronized. +Gravity Sync will **not** overwrite device specific settings such as local network configuration, admin/API passwords/keys, local hostfiles, upstream DNS resolvers, etc. It will also **not** keep DHCP settings or device leases synchronized. ## Prerequisites @@ -50,9 +50,9 @@ Download the latest release from [GitHub](https://github.com/vmstan/gravity-sync ``` cd ~ -wget https://github.com/vmstan/gravity-sync/archive/v1.3.1.zip -unzip v1.3.1.zip -mv ~/gravity-sync-1.3.1 ~/gravity-sync +wget https://github.com/vmstan/gravity-sync/archive/v1.3.2.zip +unzip v1.3.2.zip +mv ~/gravity-sync-1.3.2 ~/gravity-sync cd gravity-sync ```