mirror of
https://github.com/garethgeorge/backrest.git
synced 2025-12-12 00:35:34 +00:00
137 lines
3.9 KiB
Bash
Executable File
137 lines
3.9 KiB
Bash
Executable File
#!/bin/bash
|
|
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
|
|
export PATH
|
|
|
|
#=================================================
|
|
# Description: Backrest Helper
|
|
# Contributed-By: https://github.com/Nebulosa-Cat
|
|
#=================================================
|
|
|
|
OS=$(uname -s)
|
|
if [[ "${OS}" != "Linux" ]]; then
|
|
echo -e "This script is only for Linux"
|
|
exit 1
|
|
fi
|
|
|
|
# Formatting Variables
|
|
Green_font_prefix="\033[32m"
|
|
Red_font_prefix="\033[31m"
|
|
Green_background_prefix="\033[42;37m"
|
|
Red_background_prefix="\033[41;37m"
|
|
Font_color_suffix="\033[0m"
|
|
Yellow_font_prefix="\033[0;33m"
|
|
Info="${Green_font_prefix}[Info]${Font_color_suffix}"
|
|
Error="${Red_font_prefix}[Error]${Font_color_suffix}"
|
|
Warning="${Yellow_font_prefix}[Warning]${Font_color_suffix}"
|
|
|
|
# Check Kernal Type
|
|
sysArch() {
|
|
echo -e "${Info} Checking OS info..."
|
|
uname=$(uname -m)
|
|
|
|
if [[ "$uname" == "x86_64" ]]; then
|
|
arch="x86_64"
|
|
elif [[ "$uname" == "armv7" ]] || [[ "$uname" == "armv6l" ]]; then
|
|
arch="armv6"
|
|
elif [[ "$uname" == "armv8" ]] || [[ "$uname" == "aarch64" ]]; then
|
|
arch="arm64"
|
|
else
|
|
echo -e "${Error} Unsupported Architecture ${arch}" && exit 1
|
|
fi
|
|
|
|
echo -e "${Info} You are running ${arch}."
|
|
}
|
|
|
|
|
|
Install() {
|
|
sysArch
|
|
tempdir=$(mktemp -d)
|
|
cd "${tempdir}"
|
|
echo -e "${Info} Downloading Latest Version..."
|
|
wget https://github.com/garethgeorge/backrest/releases/latest/download/backrest_Linux_${arch}.tar.gz
|
|
rm -r ./backrest
|
|
mkdir ./backrest
|
|
tar -xzvf backrest_Linux_${arch}.tar.gz -C ./backrest
|
|
cd backrest
|
|
echo -e "${Info} Starting Install Script..."
|
|
./install.sh
|
|
echo -e "${Info} Clearing temporary directory for install..."
|
|
rm -rf ${tempdir}
|
|
echo -e "${Info} Install Completed!"
|
|
}
|
|
|
|
Uninstall(){
|
|
sysArch
|
|
tempdir=$(mktemp -d)
|
|
cd "${tempdir}"
|
|
echo -e "${Info} Downloading Latest Version of uninstaller..."
|
|
wget https://github.com/garethgeorge/backrest/releases/latest/download/backrest_Linux_${arch}.tar.gz
|
|
rm -r ./backrest
|
|
mkdir ./backrest
|
|
tar -xzvf backrest_Linux_${arch}.tar.gz -C ./backrest
|
|
cd backrest
|
|
echo -e "${Info} Starting Uninstall Script..."
|
|
./uninstall.sh
|
|
echo -e "${Info} Clear temporary directory for uninstall script..."
|
|
rm -rf ${tempdir}
|
|
echo -e "${Info} Uninstall Completed!"
|
|
}
|
|
|
|
Start(){
|
|
sudo systemctl start backrest
|
|
}
|
|
|
|
Stop(){
|
|
sudo systemctl stop backrest
|
|
}
|
|
|
|
Status(){
|
|
sudo systemctl status backrest
|
|
}
|
|
|
|
Start_Menu(){
|
|
clear
|
|
echo -e "
|
|
=============================================
|
|
Backrest Install Helper
|
|
=============================================
|
|
${Red_font_prefix} Warning: This Script Only Work On Linux !${Font_color_suffix}
|
|
————————————————————————————————-------------
|
|
${Green_font_prefix} 0.${Font_color_suffix} Install / Update Backrest
|
|
${Green_font_prefix} 1.${Font_color_suffix} Uninstall Backrest
|
|
—————————————————————————————————------------
|
|
${Green_font_prefix} 2.${Font_color_suffix} Start Backrest
|
|
${Green_font_prefix} 3.${Font_color_suffix} Stop Backrest
|
|
—————————————————————————————————------------
|
|
${Green_font_prefix} 4.${Font_color_suffix} Show Backrest Status
|
|
---------------------------------------------
|
|
${Green_font_prefix} 9.${Font_color_suffix} Exit Script
|
|
=============================================
|
|
"
|
|
read -p " Please Input [0-9]:" num
|
|
case "$num" in
|
|
0)
|
|
Install
|
|
;;
|
|
1)
|
|
Uninstall
|
|
;;
|
|
2)
|
|
Start
|
|
;;
|
|
3)
|
|
Stop
|
|
;;
|
|
4)
|
|
Status
|
|
;;
|
|
9)
|
|
exit 1
|
|
;;
|
|
*)
|
|
echo -e "${Error} Please enter a correct number [0-9]"
|
|
exit 1
|
|
;;
|
|
esac
|
|
}
|
|
Start_Menu |