您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

Gitea_EDbackup-INI.sh 4.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. #!/bin/bash
  2. BAK_Project=Gitea_ED
  3. USER=`whoami`
  4. LOG_Folder="_LOG"
  5. LOG1=/ED/${BAK_Project}/Script_${BAK_Project}/_LOG/${BAK_Project}backup-INI.log
  6. TS=`date +"%Y%m%d-%H%M%S"`
  7. Bak_Folder="/ED/${BAK_Project}/Backup_file"
  8. BAK_Disk_A_Mount_Point="/BAK_Disk_A"
  9. BAK_Disk_A_Hostname_Folder="$BAK_Disk_A_Mount_Point/`hostnamectl | grep "Static hostname" | awk '{print $NF}'`"
  10. BAK_Disk_A_Script_BAK_Folder="$BAK_Disk_A_Hostname_Folder/${BAK_Project}/Backup_file"
  11. BAK_Disk_A_GITEA_INI_TS=$BAK_Disk_A_Script_BAK_Folder/app.ini-$TS
  12. BAK_Disk_B_Mount_Point="/BAK_Disk_B"
  13. BAK_Disk_B_Hostname_Folder="$BAK_Disk_B_Mount_Point/`hostnamectl | grep "Static hostname" | awk '{print $NF}'`"
  14. BAK_Disk_B_Script_BAK_Folder="$BAK_Disk_B_Hostname_Folder/${BAK_Project}/Backup_file"
  15. BAK_Disk_B_GITEA_INI_TS=$BAK_Disk_B_Script_BAK_Folder/app.ini-$TS
  16. Target_Folder=/ED/${BAK_Project}/Script_${BAK_Project}
  17. GITEA_INI="/var/lib/gitea/custom/conf/app.ini"
  18. GITEA_INI_TS="$Bak_Folder/app.ini-$TS"
  19. ##### Func
  20. CHK_LOG_Folder (){
  21. ls /ED/${BAK_Project}/Script_${BAK_Project}/_LOG > /dev/null 2>&1
  22. if [[ $? != 0 ]]; then
  23. sudo mkdir -p /ED/${BAK_Project}/Script_${BAK_Project}/_LOG
  24. sudo chown $USER:$USER /ED/${BAK_Project}/Script_${BAK_Project}/_LOG
  25. fi
  26. }
  27. CHK_Bak_Folder (){
  28. ls $Bak_Folder > /dev/null 2>&1
  29. if [[ $? == 0 ]]; then
  30. echo -e "\033[34mPass. Backup file saving folder: $Bak_Folder exist, go next.\033[0m"
  31. else
  32. echo -e "\033[31mThere is no Backup file saving folder: $Bak_Folder, next will create a new one automatically.\033[0m"
  33. sudo mkdir -p $Bak_Folder
  34. sudo chown $USER:$USER $Bak_Folder
  35. fi
  36. }
  37. BAK_GITEA_INI_BAK_Disk_A (){
  38. echo -e "\033[32mStart backup the app.ini of gitea to BAK_Disk_A...\033[0m"
  39. ls $GITEA_INI > /dev/null 2>&1
  40. if [[ $? == 0 ]]; then
  41. echo -e "\033[34mPass. $GITEA_INI exist \033[0m"
  42. cp $GITEA_INI $GITEA_INI_TS && cp $GITEA_INI $BAK_Disk_A_GITEA_INI_TS
  43. if [[ $? == 0 ]]; then
  44. echo -e "\033[34mPass. Make a $GITEA_INI copy to \"$Bak_Folder\" and \"BAK_Disk_A\" good. \033[0m"
  45. else
  46. echo -e "\033[41;37mFail. Make a $GITEA_INI copy to \"$Bak_Folder\" and \"BAK_Disk_A\" failed. \033[0m"
  47. fi
  48. else
  49. 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"
  50. read INI
  51. ls $INI > /dev/null 2>&1
  52. if [[ $? != 0 ]]; then
  53. echo -e "\033[41;37mFail. We can't get the app.ini file in your input. Exit \033[0m"
  54. echo
  55. exit
  56. else
  57. cp $INI $GITEA_INI_TS && cp $INI $BAK_Disk_A_GITEA_INI_TS
  58. if [[ $? == 0 ]]; then
  59. echo -e "\033[34mPass. Make a $INI copy to \"$Bak_Folder\" and \"BAK_Disk_A\" good. \033[0m"
  60. else
  61. echo -e "\033[41;37mFail. Make a $INI copy to \"$Bak_Folder\" and \"BAK_Disk_A\" failed. \033[0m"
  62. fi
  63. fi
  64. fi
  65. }
  66. BAK_GITEA_INI_BAK_Disk_B (){
  67. echo -e "\033[32mStart backup the app.ini of gitea to BAK_Disk_B...\033[0m"
  68. ls $GITEA_INI > /dev/null 2>&1
  69. if [[ $? == 0 ]]; then
  70. echo -e "\033[34mPass. $GITEA_INI exist \033[0m"
  71. cp $GITEA_INI $GITEA_INI_TS && cp $GITEA_INI $BAK_Disk_B_GITEA_INI_TS
  72. if [[ $? == 0 ]]; then
  73. echo -e "\033[34mPass. Make a $GITEA_INI copy to \"$Bak_Folder\" and \"BAK_Disk_B\" good. \033[0m"
  74. else
  75. echo -e "\033[41;37mFail. Make a $GITEA_INI copy to \"$Bak_Folder\" and \"BAK_Disk_B\" failed. \033[0m"
  76. fi
  77. else
  78. 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"
  79. read INI
  80. ls $INI > /dev/null 2>&1
  81. if [[ $? != 0 ]]; then
  82. echo -e "\033[41;37mFail. We can't get the app.ini file in your input. Exit \033[0m"
  83. echo
  84. exit
  85. else
  86. cp $INI $GITEA_INI_TS && cp $INI $BAK_Disk_B_GITEA_INI_TS
  87. if [[ $? == 0 ]]; then
  88. echo -e "\033[34mPass. Make a $INI copy to \"$Bak_Folder\" and \"BAK_Disk_B\" good. \033[0m"
  89. else
  90. echo -e "\033[41;37mFail. Make a $INI copy to \"$Bak_Folder\" and \"BAK_Disk_B\" failed. \033[0m"
  91. fi
  92. fi
  93. fi
  94. }
  95. echo -e "===== `date +"%Y/%m/%d %H:%M:%S"` ===== \033[45;37m$0\033[0m =====" | tee -a $LOG1
  96. echo -e "\033[32mStart backup the Script_${BAK_Project} \033[0m" | tee -a $LOG1
  97. CHK_LOG_Folder | tee -a $LOG1
  98. CHK_Bak_Folder | tee -a $LOG1
  99. echo | tee -a $LOG1
  100. BAK_GITEA_INI_BAK_Disk_A | tee -a $LOG1
  101. BAK_GITEA_INI_BAK_Disk_B | tee -a $LOG1
  102. echo | tee -a $LOG1
  103. echo
  104. echo -e "\033[33mLOG file:"
  105. echo -e " $LOG1\033[m"
  106. echo