2022-04-11 22:06:09 +00:00
|
|
|
|
#!/usr/bin/env bash
|
2020-05-21 18:00:42 +00:00
|
|
|
|
|
2020-05-22 17:18:16 +00:00
|
|
|
|
# GRAVITY SYNC BY VMSTAN #####################
|
2022-04-11 22:06:09 +00:00
|
|
|
|
# GS 3.x to 4.0 Upgrade Utility ##############
|
|
|
|
|
|
|
|
|
|
# Run only to upgrade your existing Gravity Sync 3.x installation to 4.0 format
|
2020-05-23 23:37:08 +00:00
|
|
|
|
PROGRAM='Gravity Sync'
|
2022-04-11 22:06:09 +00:00
|
|
|
|
|
|
|
|
|
GS_FILEPATH=$(realpath $0)
|
|
|
|
|
LOCAL_FOLDR=$(dirname $GS_FILEPATH)
|
|
|
|
|
|
|
|
|
|
GS_ETC_PATH="/etc/gravity-sync"
|
|
|
|
|
GS_GRAVITY_FI_MD5_LOG='gs-gravity.md5'
|
|
|
|
|
GS_CUSTOM_DNS_MD5_LOG='gs-clist.md5'
|
|
|
|
|
GS_CNAME_CONF_MD5_LOG='gs-cname.md5'
|
|
|
|
|
|
|
|
|
|
OS_DAEMON_PATH='/etc/systemd/system'
|
|
|
|
|
|
|
|
|
|
## Script Colors
|
|
|
|
|
RED='\033[0;91m'
|
|
|
|
|
GREEN='\033[0;92m'
|
|
|
|
|
CYAN='\033[0;96m'
|
|
|
|
|
YELLOW='\033[0;93m'
|
|
|
|
|
PURPLE='\033[0;95m'
|
|
|
|
|
BLUE='\033[0;94m'
|
|
|
|
|
BOLD='\033[1m'
|
|
|
|
|
NC='\033[0m'
|
|
|
|
|
|
|
|
|
|
## Message Codes
|
|
|
|
|
FAIL="${RED}✗${NC}"
|
|
|
|
|
WARN="${PURPLE}!${NC}"
|
|
|
|
|
GOOD="${GREEN}✓${NC}"
|
|
|
|
|
STAT="${CYAN}∞${NC}"
|
|
|
|
|
INFO="${YELLOW}»${NC}"
|
|
|
|
|
INF1="${CYAN}›${NC}"
|
|
|
|
|
NEED="${BLUE}?${NC}"
|
|
|
|
|
LOGO="${PURPLE}∞${NC}"
|
|
|
|
|
|
|
|
|
|
## Echo Stack
|
|
|
|
|
### Informative
|
|
|
|
|
function echo_info {
|
|
|
|
|
echo -e "${INFO} ${YELLOW}${MESSAGE}${NC}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function echo_prompt {
|
|
|
|
|
echo -e "${INF1} ${CYAN}${MESSAGE}${NC}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
### Warning
|
|
|
|
|
function echo_warn {
|
|
|
|
|
echo -e "${WARN} ${PURPLE}${MESSAGE}${NC}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
### Executing
|
|
|
|
|
function echo_stat {
|
|
|
|
|
echo -en "${STAT} ${MESSAGE}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
### Success
|
|
|
|
|
function echo_good {
|
|
|
|
|
echo -e "\r${GOOD} ${MESSAGE}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
### Success
|
|
|
|
|
function echo_good_clean {
|
|
|
|
|
echo -e "\r${GOOD} ${MESSAGE}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
### Failure
|
|
|
|
|
function echo_fail {
|
|
|
|
|
echo -e "\r${FAIL} ${MESSAGE}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
### Request
|
|
|
|
|
function echo_need {
|
|
|
|
|
echo -en "${NEED} ${BOLD}${MESSAGE}:${NC} "
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
### Indent
|
|
|
|
|
function echo_over {
|
|
|
|
|
echo -e " ${MESSAGE}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
### Gravity Sync Logo
|
|
|
|
|
function echo_grav {
|
|
|
|
|
echo -e "${LOGO} ${BOLD}${MESSAGE}${NC}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
### Lines
|
|
|
|
|
function echo_blank {
|
|
|
|
|
echo -e ""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
## Error Validation
|
|
|
|
|
function error_validate {
|
|
|
|
|
if [ "$?" != "0" ]; then
|
|
|
|
|
echo_fail
|
|
|
|
|
exit 1
|
|
|
|
|
else
|
|
|
|
|
echo_good
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function start_gs_no_config {
|
|
|
|
|
MESSAGE="Gravity Sync 3.x to 4.0 Migration Utility"
|
|
|
|
|
echo_grav
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function check_old_version {
|
|
|
|
|
MESSAGE="Checking for 3.x Configuration File"
|
|
|
|
|
echo_stat
|
|
|
|
|
|
|
|
|
|
if [ -f settings/gravity-sync.conf ]; then
|
|
|
|
|
echo_good
|
|
|
|
|
else
|
|
|
|
|
echo_fail
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function install_new_gravity {
|
|
|
|
|
MESSAGE="Installing Gravity Sync 4.0"
|
|
|
|
|
echo_info
|
|
|
|
|
|
|
|
|
|
if [ -d /etc/gravity-sync/.gs ]; then
|
|
|
|
|
MESSAGE="Removing existing GitHub cache"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo rm -fr /etc/gravity-sync/.gs
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ ! -d /etc/gravity-sync ]; then
|
|
|
|
|
MESSAGE="Creating new configuration directory"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo mkdir /etc/gravity-sync
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
MESSAGE="Validating configuration directory permissions"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo chmod 775 /etc/gravity-sync
|
|
|
|
|
error_validate
|
|
|
|
|
|
|
|
|
|
if [ -f /usr/local/bin/gravity-sync ]; then
|
|
|
|
|
MESSAGE="Removing old Gravity Sync binary"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo rm -f /usr/local/bin/gravity-sync
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
MESSAGE="Creating new GitHub cache"
|
|
|
|
|
echo_prompt
|
|
|
|
|
|
|
|
|
|
sudo git clone https://github.com/vmstan/gravity-sync.git /etc/gravity-sync/.gs
|
|
|
|
|
|
|
|
|
|
# MESSAGE="Enabling beta updates"
|
|
|
|
|
# echo_stat
|
|
|
|
|
# sudo touch /etc/gravity-sync/.gs/dev
|
|
|
|
|
# echo -e "BRANCH='origin/4.0.0'" | sudo tee /etc/gravity-sync/.gs/dev 1> /dev/null
|
|
|
|
|
# error_validate
|
|
|
|
|
|
|
|
|
|
sudo cp /etc/gravity-sync/.gs/gravity-sync /usr/local/bin
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function upgrade_to_4 {
|
|
|
|
|
MESSAGE="Migrating Previous Configuration"
|
|
|
|
|
echo_info
|
|
|
|
|
|
2022-04-12 00:57:28 +00:00
|
|
|
|
CURRENTUSER=$(whoami)
|
2022-04-11 22:06:09 +00:00
|
|
|
|
MESSAGE="Transferring SSH keys"
|
2022-04-12 00:57:28 +00:00
|
|
|
|
echo_stat
|
2022-04-11 22:06:09 +00:00
|
|
|
|
sudo cp $HOME/.ssh/id_rsa /etc/gravity-sync/gravity-sync.rsa
|
|
|
|
|
sudo cp $HOME/.ssh/id_rsa.pub /etc/gravity-sync/gravity-sync.rsa.pub
|
|
|
|
|
error_validate
|
|
|
|
|
|
2022-04-12 00:57:28 +00:00
|
|
|
|
MESSAGE="Setting SSH key owner"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo chown ${CURRENTUSER}:${CURRENTUSER} /etc/gravity-sync/gravity-sync.rsa
|
|
|
|
|
sudo chown ${CURRENTUSER}:${CURRENTUSER} /etc/gravity-sync/gravity-sync.rsa.pub
|
|
|
|
|
error_validate
|
|
|
|
|
|
2022-04-11 22:06:09 +00:00
|
|
|
|
REMOTE_HOST=''
|
|
|
|
|
REMOTE_USER=''
|
|
|
|
|
|
|
|
|
|
PIHOLE_DIR=''
|
|
|
|
|
RIHOLE_DIR=''
|
|
|
|
|
DNSMAQ_DIR=''
|
|
|
|
|
RNSMAQ_DIR=''
|
|
|
|
|
FILE_OWNER=''
|
|
|
|
|
RILE_OWNER=''
|
|
|
|
|
DOCKER_CON=''
|
|
|
|
|
ROCKER_CON=''
|
|
|
|
|
|
|
|
|
|
MESSAGE="Reviewing old configuration file settings"
|
|
|
|
|
echo_stat
|
|
|
|
|
source settings/gravity-sync.conf
|
|
|
|
|
error_validate
|
|
|
|
|
|
|
|
|
|
MESSAGE="Creating new configuration file from template"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo cp /etc/gravity-sync/.gs/templates/gravity-sync.conf.example /etc/gravity-sync/gravity-sync.conf
|
|
|
|
|
error_validate
|
|
|
|
|
|
|
|
|
|
LOCAL_PIHOLE_DIRECTORY=${PIHOLE_DIR}
|
|
|
|
|
REMOTE_PIHOLE_DIRECTORY=${RIHOLE_DIR}
|
|
|
|
|
LOCAL_DNSMASQ_DIRECTORY=${DNSMAQ_DIR}
|
|
|
|
|
REMOTE_DNSMASQ_DIRECTORY=${RNSMAQ_DIR}
|
|
|
|
|
LOCAL_FILE_OWNER=${FILE_OWNER}
|
|
|
|
|
REMOTE_FILE_OWNER=${RILE_OWNER}
|
|
|
|
|
LOCAL_DOCKER_CONTAINER=${DOCKER_CON}
|
|
|
|
|
REMOTE_DOCKER_CONTAINER=${ROCKER_CON}
|
|
|
|
|
|
|
|
|
|
MESSAGE="Migrating remote host settings"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo sed -i "/REMOTE_HOST=''/c\REMOTE_HOST='${REMOTE_HOST}'" /etc/gravity-sync/gravity-sync.conf
|
|
|
|
|
error_validate
|
|
|
|
|
|
|
|
|
|
MESSAGE="Migrating remote user settings"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo sed -i "/REMOTE_USER=''/c\REMOTE_USER='${REMOTE_USER}'" /etc/gravity-sync/gravity-sync.conf
|
|
|
|
|
error_validate
|
|
|
|
|
|
|
|
|
|
if [ "${LOCAL_PIHOLE_DIRECTORY}" == '' ] || [ "${LOCAL_PIHOLE_DIRECTORY}" == '/etc/pihole' ]; then
|
|
|
|
|
MESSAGE="Defaulting local Pi-hole directory setting"
|
|
|
|
|
echo_good_clean
|
|
|
|
|
else
|
|
|
|
|
MESSAGE="Migrating local Pi-hole directory setting"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo sed -i "/LOCAL_PIHOLE_DIRECTORY=''/c\LOCAL_PIHOLE_DIRECTORY='${LOCAL_PIHOLE_DIRECTORY}'" /etc/gravity-sync/gravity-sync.conf
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "${REMOTE_PIHOLE_DIRECTORY}" == '' ] || [ "${REMOTE_PIHOLE_DIRECTORY}" == '/etc/pihole' ]; then
|
|
|
|
|
MESSAGE="Defaulting remote Pi-hole directory setting"
|
|
|
|
|
echo_good_clean
|
|
|
|
|
else
|
|
|
|
|
MESSAGE="Migrating remote Pi-hole directory setting"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo sed -i "/REMOTE_PIHOLE_DIRECTORY=''/c\REMOTE_PIHOLE_DIRECTORY='${REMOTE_PIHOLE_DIRECTORY}'" /etc/gravity-sync/gravity-sync.conf
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "${LOCAL_DNSMASQ_DIRECTORY}" == '' ] || [ "${LOCAL_DNSMASQ_DIRECTORY}" == '/etc/dnsmasq.d' ]; then
|
|
|
|
|
MESSAGE="Defaulting local DNSMASQ directory setting"
|
|
|
|
|
echo_good_clean
|
|
|
|
|
else
|
|
|
|
|
MESSAGE="Migrating local DNSMASQ directory setting"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo sed -i "/LOCAL_DNSMASQ_DIRECTORY=''/c\LOCAL_DNSMASQ_DIRECTORY='${LOCAL_DNSMASQ_DIRECTORY}'" /etc/gravity-sync/gravity-sync.conf
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "${REMOTE_DNSMASQ_DIRECTORY}" == '' ] || [ "${REMOTE_DNSMASQ_DIRECTORY}" == '/etc/dnsmasq.d' ]; then
|
|
|
|
|
MESSAGE="Defaulting remote DNSMASQ directory setting"
|
|
|
|
|
echo_good_clean
|
|
|
|
|
else
|
|
|
|
|
MESSAGE="Migrating remote DNSMASQ directory setting"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo sed -i "/REMOTE_DNSMASQ_DIRECTORY=''/c\REMOTE_DNSMASQ_DIRECTORY='${REMOTE_DNSMASQ_DIRECTORY}'" /etc/gravity-sync/gravity-sync.conf
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "${LOCAL_FILE_OWNER}" == '' ]; then
|
|
|
|
|
MESSAGE="Defaulting local file owner setting"
|
|
|
|
|
echo_good_clean
|
|
|
|
|
else
|
|
|
|
|
MESSAGE="Migrating local file owner setting"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo sed -i "/LOCAL_FILE_OWNER=''/c\LOCAL_FILE_OWNER='${LOCAL_FILE_OWNER}'" /etc/gravity-sync/gravity-sync.conf
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "${REMOTE_FILE_OWNER}" == '' ]; then
|
|
|
|
|
MESSAGE="Defaulting remote file owner setting"
|
|
|
|
|
echo_good_clean
|
|
|
|
|
else
|
|
|
|
|
MESSAGE="Migrating remote file owner setting"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo sed -i "/REMOTE_FILE_OWNER=''/c\REMOTE_FILE_OWNER='${REMOTE_FILE_OWNER}'" /etc/gravity-sync/gravity-sync.conf
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "${LOCAL_DOCKER_CONTAINER}" == '' ] || [ "${LOCAL_DOCKER_CONTAINER}" == 'pihole' ]; then
|
|
|
|
|
MESSAGE="Defaulting local Pi-hole container setting"
|
|
|
|
|
echo_good_clean
|
|
|
|
|
else
|
|
|
|
|
MESSAGE="Migrating local Pi-hole container setting"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo sed -i "/LOCAL_DOCKER_CONTAINER=''/c\LOCAL_DOCKER_CONTAINER='${LOCAL_DOCKER_CONTAINER}'" /etc/gravity-sync/gravity-sync.conf
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "${REMOTE_DOCKER_CONTAINER}" == '' ] || [ "${REMOTE_DOCKER_CONTAINER}" == 'pihole' ]; then
|
|
|
|
|
MESSAGE="Defaulting remote Pi-hole container setting"
|
|
|
|
|
echo_good_clean
|
|
|
|
|
else
|
|
|
|
|
MESSAGE="Migrating local Pi-hole container setting"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo sed -i "/REMOTE_DOCKER_CONTAINER=''/c\REMOTE_DOCKER_CONTAINER='${REMOTE_DOCKER_CONTAINER}'" /etc/gravity-sync/gravity-sync.conf
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
MESSAGE="Migrating task history"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo cp logs/gravity-sync.log /etc/gravity-sync/gs-sync.log
|
|
|
|
|
error_validate
|
|
|
|
|
|
|
|
|
|
MESSAGE="Migrating hashing tables"
|
|
|
|
|
echo_stat
|
|
|
|
|
if [ -f "logs/gravity-sync.md5" ]; then
|
|
|
|
|
REMOTE_DB_MD5=$(sed "1q;d" logs/gravity-sync.md5)
|
|
|
|
|
LOCAL_DB_MD5=$(sed "2q;d" logs/gravity-sync.md5)
|
|
|
|
|
REMOTE_CL_MD5=$(sed "3q;d" logs/gravity-sync.md5)
|
|
|
|
|
LOCAL_CL_MD5=$(sed "4q;d" logs/gravity-sync.md5)
|
|
|
|
|
REMOTE_CN_MD5=$(sed "5q;d" logs/gravity-sync.md5)
|
|
|
|
|
LOCAL_CN_MD5=$(sed "6q;d" logs/gravity-sync.md5)
|
|
|
|
|
|
|
|
|
|
echo -e ${REMOTE_DB_MD5} | sudo tee -a ${GS_ETC_PATH}/${GS_GRAVITY_FI_MD5_LOG} 1> /dev/null
|
|
|
|
|
echo -e ${LOCAL_DB_MD5} | sudo tee -a ${GS_ETC_PATH}/${GS_GRAVITY_FI_MD5_LOG} 1> /dev/null
|
|
|
|
|
echo -e ${REMOTE_CL_MD5} | sudo tee -a ${GS_ETC_PATH}/${GS_CUSTOM_DNS_MD5_LOG} 1> /dev/null
|
|
|
|
|
echo -e ${LOCAL_CL_MD5} | sudo tee -a ${GS_ETC_PATH}/${GS_CUSTOM_DNS_MD5_LOG} 1> /dev/null
|
|
|
|
|
echo -e ${REMOTE_CN_MD5} | sudo tee -a ${GS_ETC_PATH}/${GS_CNAME_CONF_MD5_LOG} 1> /dev/null
|
|
|
|
|
echo -e ${LOCAL_CN_MD5} | sudo tee -a ${GS_ETC_PATH}/${GS_CNAME_CONF_MD5_LOG} 1> /dev/null
|
|
|
|
|
else
|
|
|
|
|
REMOTE_DB_MD5="0"
|
|
|
|
|
LOCAL_DB_MD5="0"
|
|
|
|
|
REMOTE_CL_MD5="0"
|
|
|
|
|
LOCAL_CL_MD5="0"
|
|
|
|
|
REMOTE_CN_MD5="0"
|
|
|
|
|
LOCAL_CN_MD5="0"
|
|
|
|
|
|
|
|
|
|
echo -e ${REMOTE_DB_MD5} | sudo tee -a ${GS_ETC_PATH}/${GS_GRAVITY_FI_MD5_LOG} 1> /dev/null
|
|
|
|
|
echo -e ${LOCAL_DB_MD5} | sudo tee -a ${GS_ETC_PATH}/${GS_GRAVITY_FI_MD5_LOG} 1> /dev/null
|
|
|
|
|
echo -e ${REMOTE_CL_MD5} | sudo tee -a ${GS_ETC_PATH}/${GS_CUSTOM_DNS_MD5_LOG} 1> /dev/null
|
|
|
|
|
echo -e ${LOCAL_CL_MD5} | sudo tee -a ${GS_ETC_PATH}/${GS_CUSTOM_DNS_MD5_LOG} 1> /dev/null
|
|
|
|
|
echo -e ${REMOTE_CN_MD5} | sudo tee -a ${GS_ETC_PATH}/${GS_CNAME_CONF_MD5_LOG} 1> /dev/null
|
|
|
|
|
echo -e ${LOCAL_CN_MD5} | sudo tee -a ${GS_ETC_PATH}/${GS_CNAME_CONF_MD5_LOG} 1> /dev/null
|
|
|
|
|
fi
|
|
|
|
|
error_validate
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function remove_old_version {
|
|
|
|
|
MESSAGE="Removing Old Version & Settings"
|
|
|
|
|
echo_info
|
|
|
|
|
|
|
|
|
|
if hash crontab 2>/dev/null; then
|
|
|
|
|
MESSAGE="Clearing automation from crontab"
|
|
|
|
|
echo_stat
|
|
|
|
|
crontab -l > cronjob-old.tmp
|
|
|
|
|
sed "/gravity-sync.sh/d" cronjob-old.tmp > cronjob-new.tmp
|
|
|
|
|
crontab cronjob-new.tmp
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
kill_automation_service
|
|
|
|
|
|
|
|
|
|
if [ -f /etc/bash.bashrc ]; then
|
|
|
|
|
MESSAGE="Cleaning up bash.bashrc"
|
|
|
|
|
echo_info
|
|
|
|
|
sudo sed -i "/gravity-sync.sh/d" /etc/bash.bashrc
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
MESSAGE="Removing old Gravity Sync folder"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo rm -fr ${LOCAL_FOLDR}
|
|
|
|
|
error_validate
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function kill_automation_service {
|
2022-04-12 13:05:35 +00:00
|
|
|
|
if systemctl is-active --quiet gravity-sync.timer; then
|
2022-04-11 22:06:09 +00:00
|
|
|
|
MESSAGE="Stopping ${PROGRAM} timer"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo systemctl stop gravity-sync
|
|
|
|
|
error_validate
|
|
|
|
|
|
|
|
|
|
MESSAGE="Disabling ${PROGRAM} automation service"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo systemctl disable gravity-sync --quiet
|
|
|
|
|
error_validate
|
|
|
|
|
|
|
|
|
|
MESSAGE="Removing systemd timer"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo rm -f ${OS_DAEMON_PATH}/gravity-sync.timer
|
|
|
|
|
error_validate
|
|
|
|
|
|
|
|
|
|
MESSAGE="Removing systemd service"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo rm -f ${OS_DAEMON_PATH}/gravity-sync.service
|
|
|
|
|
error_validate
|
|
|
|
|
|
|
|
|
|
MESSAGE="Reloading systemd daemon"
|
|
|
|
|
echo_stat
|
|
|
|
|
sudo systemctl daemon-reload --quiet
|
|
|
|
|
error_validate
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function end_migration {
|
|
|
|
|
MESSAGE="Migration Complete"
|
|
|
|
|
echo_info
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
2020-10-09 01:39:30 +00:00
|
|
|
|
|
|
|
|
|
# SCRIPT EXECUTION ###########################
|
|
|
|
|
|
2020-05-21 18:00:42 +00:00
|
|
|
|
case $# in
|
2020-12-31 02:45:47 +00:00
|
|
|
|
0)
|
2022-04-11 22:06:09 +00:00
|
|
|
|
start_gs_no_config
|
|
|
|
|
check_old_version
|
|
|
|
|
install_new_gravity
|
|
|
|
|
upgrade_to_4
|
|
|
|
|
remove_old_version
|
|
|
|
|
end_migration ;;
|
2020-12-31 02:45:47 +00:00
|
|
|
|
1)
|
|
|
|
|
case $1 in
|
|
|
|
|
*)
|
2022-04-11 22:06:09 +00:00
|
|
|
|
start_gs_no_config
|
|
|
|
|
check_old_version
|
|
|
|
|
install_new_gravity
|
|
|
|
|
upgrade_to_4
|
|
|
|
|
remove_old_version
|
|
|
|
|
end_migration ;;
|
2020-12-31 02:45:47 +00:00
|
|
|
|
esac
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
*)
|
2022-04-11 22:06:09 +00:00
|
|
|
|
start_gs_no_config
|
|
|
|
|
check_old_version
|
|
|
|
|
install_new_gravity
|
|
|
|
|
upgrade_to_4
|
|
|
|
|
remove_old_version
|
|
|
|
|
end_migration ;;
|
2020-07-21 05:14:20 +00:00
|
|
|
|
esac
|
2020-10-07 22:45:39 +00:00
|
|
|
|
|
2022-04-11 22:06:09 +00:00
|
|
|
|
# END OF SCRIPT ##############################
|