#!/bin/bash BAK_Project=Gitea_ED USER=`whoami` LOG_Folder="_LOG" LOG1=/ED/${BAK_Project}/Script_${BAK_Project}/_LOG/${BAK_Project}backup-INI.log TS=`date +"%Y%m%d-%H%M%S"` Bak_Folder="/ED/${BAK_Project}/Backup_file" BAK_Disk_A_Mount_Point="/BAK_Disk_A" BAK_Disk_A_Hostname_Folder="$BAK_Disk_A_Mount_Point/`hostnamectl | grep "Static hostname" | awk '{print $NF}'`" BAK_Disk_A_Script_BAK_Folder="$BAK_Disk_A_Hostname_Folder/${BAK_Project}/Backup_file" BAK_Disk_A_GITEA_INI_TS=$BAK_Disk_A_Script_BAK_Folder/app.ini-$TS BAK_Disk_B_Mount_Point="/BAK_Disk_B" BAK_Disk_B_Hostname_Folder="$BAK_Disk_B_Mount_Point/`hostnamectl | grep "Static hostname" | awk '{print $NF}'`" BAK_Disk_B_Script_BAK_Folder="$BAK_Disk_B_Hostname_Folder/${BAK_Project}/Backup_file" BAK_Disk_B_GITEA_INI_TS=$BAK_Disk_B_Script_BAK_Folder/app.ini-$TS Target_Folder=/ED/${BAK_Project}/Script_${BAK_Project} GITEA_INI="/var/lib/gitea/custom/conf/app.ini" GITEA_INI_TS="$Bak_Folder/app.ini-$TS" ##### Func CHK_LOG_Folder (){ ls /ED/${BAK_Project}/Script_${BAK_Project}/_LOG > /dev/null 2>&1 if [[ $? != 0 ]]; then sudo mkdir -p /ED/${BAK_Project}/Script_${BAK_Project}/_LOG sudo chown $USER:$USER /ED/${BAK_Project}/Script_${BAK_Project}/_LOG fi } CHK_Bak_Folder (){ ls $Bak_Folder > /dev/null 2>&1 if [[ $? == 0 ]]; then echo -e "\033[34mPass. Backup file saving folder: $Bak_Folder exist, go next.\033[0m" else echo -e "\033[31mThere is no Backup file saving folder: $Bak_Folder, next will create a new one automatically.\033[0m" sudo mkdir -p $Bak_Folder sudo chown $USER:$USER $Bak_Folder fi } BAK_GITEA_INI_BAK_Disk_A (){ echo -e "\033[32mStart backup the app.ini of gitea to BAK_Disk_A...\033[0m" ls $GITEA_INI > /dev/null 2>&1 if [[ $? == 0 ]]; then echo -e "\033[34mPass. $GITEA_INI exist \033[0m" cp $GITEA_INI $GITEA_INI_TS && cp $GITEA_INI $BAK_Disk_A_GITEA_INI_TS if [[ $? == 0 ]]; then echo -e "\033[34mPass. Make a $GITEA_INI copy to \"$Bak_Folder\" and \"BAK_Disk_A\" good. \033[0m" else echo -e "\033[41;37mFail. Make a $GITEA_INI copy to \"$Bak_Folder\" and \"BAK_Disk_A\" failed. \033[0m" fi else echo -e -n "\033[33mWarning! $GITEA_INI doesn't exist, please input the filename include its full path: (ex: /var/lib/gitea/custom/conf/app.ini) \033[0m" read INI ls $INI > /dev/null 2>&1 if [[ $? != 0 ]]; then echo -e "\033[41;37mFail. We can't get the app.ini file in your input. Exit \033[0m" echo exit else cp $INI $GITEA_INI_TS && cp $INI $BAK_Disk_A_GITEA_INI_TS if [[ $? == 0 ]]; then echo -e "\033[34mPass. Make a $INI copy to \"$Bak_Folder\" and \"BAK_Disk_A\" good. \033[0m" else echo -e "\033[41;37mFail. Make a $INI copy to \"$Bak_Folder\" and \"BAK_Disk_A\" failed. \033[0m" fi fi fi } BAK_GITEA_INI_BAK_Disk_B (){ echo -e "\033[32mStart backup the app.ini of gitea to BAK_Disk_B...\033[0m" ls $GITEA_INI > /dev/null 2>&1 if [[ $? == 0 ]]; then echo -e "\033[34mPass. $GITEA_INI exist \033[0m" cp $GITEA_INI $GITEA_INI_TS && cp $GITEA_INI $BAK_Disk_B_GITEA_INI_TS if [[ $? == 0 ]]; then echo -e "\033[34mPass. Make a $GITEA_INI copy to \"$Bak_Folder\" and \"BAK_Disk_B\" good. \033[0m" else echo -e "\033[41;37mFail. Make a $GITEA_INI copy to \"$Bak_Folder\" and \"BAK_Disk_B\" failed. \033[0m" fi else echo -e -n "\033[33mWarning! $GITEA_INI doesn't exist, please input the filename include its full path: (ex: /var/lib/gitea/custom/conf/app.ini) \033[0m" read INI ls $INI > /dev/null 2>&1 if [[ $? != 0 ]]; then echo -e "\033[41;37mFail. We can't get the app.ini file in your input. Exit \033[0m" echo exit else cp $INI $GITEA_INI_TS && cp $INI $BAK_Disk_B_GITEA_INI_TS if [[ $? == 0 ]]; then echo -e "\033[34mPass. Make a $INI copy to \"$Bak_Folder\" and \"BAK_Disk_B\" good. \033[0m" else echo -e "\033[41;37mFail. Make a $INI copy to \"$Bak_Folder\" and \"BAK_Disk_B\" failed. \033[0m" fi fi fi } echo -e "===== `date +"%Y/%m/%d %H:%M:%S"` ===== \033[45;37m$0\033[0m =====" | tee -a $LOG1 echo -e "\033[32mStart backup the Script_${BAK_Project} \033[0m" | tee -a $LOG1 CHK_LOG_Folder | tee -a $LOG1 CHK_Bak_Folder | tee -a $LOG1 echo | tee -a $LOG1 BAK_GITEA_INI_BAK_Disk_A | tee -a $LOG1 BAK_GITEA_INI_BAK_Disk_B | tee -a $LOG1 echo | tee -a $LOG1 echo echo -e "\033[33mLOG file:" echo -e " $LOG1\033[m" echo