Daddy like the functions

This commit is contained in:
Michael Stanclift 2020-05-22 11:06:59 -05:00
parent fa1ddf6734
commit f35465ab50

View File

@ -50,28 +50,28 @@ function import_gs {
function update_gs { function update_gs {
echo -e "${YELLOW}This update will fail if Gravity Sync was not installed via GitHub${NC}" echo -e "${YELLOW}This update will fail if Gravity Sync was not installed via GitHub${NC}"
git reset --hard git reset --hard
git pull git pull
} }
# Pull Function # Pull Function
function pull_gs { function pull_gs {
echo -e "${CYAN}Copying ${GRAVITY_FI} from remote server ${REMOTE_HOST}${NC}" echo -e "${CYAN}Copying ${GRAVITY_FI} from remote server ${REMOTE_HOST}${NC}"
rsync -v --progress -e 'ssh -p 22' ${REMOTE_USER}@${REMOTE_HOST}:${PIHOLE_DIR}/${GRAVITY_FI} ~/${LOCAL_FOLDR}/${GRAVITY_FI} rsync -v --progress -e 'ssh -p 22' ${REMOTE_USER}@${REMOTE_HOST}:${PIHOLE_DIR}/${GRAVITY_FI} ~/${LOCAL_FOLDR}/${GRAVITY_FI}
echo -e "${CYAN}Backing up the running ${GRAVITY_FI} on this server${NC}" echo -e "${CYAN}Backing up the running ${GRAVITY_FI} on this server${NC}"
sudo mv -v ${PIHOLE_DIR}/${GRAVITY_FI} ${PIHOLE_DIR}/${GRAVITY_FI}.backup sudo mv -v ${PIHOLE_DIR}/${GRAVITY_FI} ${PIHOLE_DIR}/${GRAVITY_FI}.backup
echo -e "${CYAN}Replacing the ${GRAVITY_FI} configuration on this server${NC}" echo -e "${CYAN}Replacing the ${GRAVITY_FI} configuration on this server${NC}"
sudo cp -v ~/${LOCAL_FOLDR}/${GRAVITY_FI} ${PIHOLE_DIR} sudo cp -v ~/${LOCAL_FOLDR}/${GRAVITY_FI} ${PIHOLE_DIR}
sudo chmod 644 ${PIHOLE_DIR}/${GRAVITY_FI} sudo chmod 644 ${PIHOLE_DIR}/${GRAVITY_FI}
sudo chown pihole:pihole ${PIHOLE_DIR}/${GRAVITY_FI} sudo chown pihole:pihole ${PIHOLE_DIR}/${GRAVITY_FI}
echo -e "${GRAVITY_FI} ownership and file permissions reset" echo -e "${GRAVITY_FI} ownership and file permissions reset"
echo -e "${CYAN}Reloading FTLDNS with configuration from new ${GRAVITY_FI}${NC}" echo -e "${CYAN}Reloading FTLDNS with configuration from new ${GRAVITY_FI}${NC}"
pihole restartdns reloadlists pihole restartdns reloadlists
pihole restartdns pihole restartdns
echo -e "${CYAN}Retaining additional copy of remote ${GRAVITY_FI}${NC}" echo -e "${CYAN}Retaining additional copy of remote ${GRAVITY_FI}${NC}"
mv -v ~/${LOCAL_FOLDR}/${GRAVITY_FI} ~/${LOCAL_FOLDR}/${GRAVITY_FI}.last mv -v ~/${LOCAL_FOLDR}/${GRAVITY_FI} ~/${LOCAL_FOLDR}/${GRAVITY_FI}.last
date >> ~/${LOCAL_FOLDR}/${SYNCING_LOG} date >> ~/${LOCAL_FOLDR}/${SYNCING_LOG}
echo -e "${GREEN}gravity.db pull completed${NC}" echo -e "${GREEN}gravity.db pull completed${NC}"
} }
@ -87,13 +87,13 @@ function push_gs {
Yes ) Yes )
echo "Replacing gravity.db on primary" echo "Replacing gravity.db on primary"
echo -e "${CYAN}Copying local ${GRAVITY_FI} to ${REMOTE_HOST}${NC}" echo -e "${CYAN}Copying local ${GRAVITY_FI} to ${REMOTE_HOST}${NC}"
rsync --rsync-path="sudo rsync" -v --progress -e 'ssh -p 22' ${PIHOLE_DIR}/${GRAVITY_FI} ${REMOTE_USER}@${REMOTE_HOST}:${PIHOLE_DIR}/${GRAVITY_FI} rsync --rsync-path="sudo rsync" -v --progress -e 'ssh -p 22' ${PIHOLE_DIR}/${GRAVITY_FI} ${REMOTE_USER}@${REMOTE_HOST}:${PIHOLE_DIR}/${GRAVITY_FI}
echo -e "${CYAN}Applying permissions to remote gravity.db${NC}" echo -e "${CYAN}Applying permissions to remote gravity.db${NC}"
ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo chmod 644 ${PIHOLE_DIR}/${GRAVITY_FI}" ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo chmod 644 ${PIHOLE_DIR}/${GRAVITY_FI}"
ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo chown pihole:pihole ${PIHOLE_DIR}/${GRAVITY_FI}" ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo chown pihole:pihole ${PIHOLE_DIR}/${GRAVITY_FI}"
echo -e "${CYAN}Reloading configuration on remote FTLDNS${NC}" echo -e "${CYAN}Reloading configuration on remote FTLDNS${NC}"
ssh ${REMOTE_USER}@${REMOTE_HOST} 'pihole restartdns reloadlists' ssh ${REMOTE_USER}@${REMOTE_HOST} 'pihole restartdns reloadlists'
ssh ${REMOTE_USER}@${REMOTE_HOST} 'pihole restartdns' ssh ${REMOTE_USER}@${REMOTE_HOST} 'pihole restartdns'
echo -e "${GREEN}gravity.db push completed${NC}" echo -e "${GREEN}gravity.db push completed${NC}"
exit exit
;; ;;
@ -108,7 +108,7 @@ function push_gs {
function logs_gs { function logs_gs {
echo -e "These are the last three valid PULL timestamps" echo -e "These are the last three valid PULL timestamps"
tail -n 3 ${SYNCING_LOG} tail -n 3 ${SYNCING_LOG}
} }
# Validate Functions # Validate Functions
@ -137,6 +137,8 @@ function validate_ph_folders {
fi fi
} }
## Validate GS Argument Used
function validate_gs_arguments { function validate_gs_arguments {
echo "Usage: $0 {pull|push}" echo "Usage: $0 {pull|push}"
echo -e "> ${YELLOW}Pull${NC} will copy the ${GRAVITY_FI} configuration on a remote host to this server" echo -e "> ${YELLOW}Pull${NC} will copy the ${GRAVITY_FI} configuration on a remote host to this server"