Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

Gitea_EDbackup-INI.sh 5.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  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_BAK=$Bak_Folder/app.ini
  19. GITEA_INI_TS="$Bak_Folder/app.ini-$TS"
  20. ##### Func
  21. CHK_LOG_Folder (){
  22. echo -e "\033[32mCheck the LOG file folder ($LOG_Folder) \033[0m"
  23. ls /ED/${BAK_Project}/Script_${BAK_Project}/_LOG > /dev/null 2>&1
  24. if [[ $? != 0 ]]; then
  25. echo -e "\033[33m>> Warning! The folder ($LOG_Folder) doesn't exist, create a new one... \033[0m"
  26. sudo mkdir -p /ED/${BAK_Project}/Script_${BAK_Project}/_LOG
  27. sudo chown $USER:$USER /ED/${BAK_Project}/Script_${BAK_Project}/_LOG
  28. else
  29. echo -e "\033[34m>> Pass. The folder ($LOG_Folder) exist. \033[0m"
  30. fi
  31. }
  32. CHK_Bak_Folder (){
  33. echo -e "\033[32mCheck the backup file folder ($Bak_Folder) \033[0m"
  34. ls $Bak_Folder > /dev/null 2>&1
  35. if [[ $? == 0 ]]; then
  36. echo -e "\033[34m>> Pass. Backup file saving folder: $Bak_Folder exist, go next.\033[0m"
  37. else
  38. echo -e "\033[33m>> Warning! There is no Backup file saving folder: $Bak_Folder, next will create a new one automatically.\033[0m"
  39. sudo mkdir -p $Bak_Folder
  40. sudo chown $USER:$USER $Bak_Folder
  41. fi
  42. }
  43. BAK_GITEA_INI (){
  44. echo -e "\033[32mStart backup the app.ini...\033[0m"
  45. ls $GITEA_INI > /dev/null 2>&1
  46. if [[ $? == 0 ]]; then
  47. echo -e "\033[34m>> Pass. $GITEA_INI exist \033[0m"
  48. cp $GITEA_INI $GITEA_INI_BAK && cp $GITEA_INI $GITEA_INI_TS
  49. if [[ $? == 0 ]]; then
  50. echo -e "\033[34m>> Pass. Make a $GITEA_INI copy to \"$Bak_Folder\" good. \033[0m"
  51. else
  52. echo -e "\033[41;37m>> Fail. Make a $GITEA_INI copy to \"$Bak_Folder\" failed. \033[0m"
  53. fi
  54. else
  55. echo -e -n "\033[33m>> Warning! $GITEA_INI doesn't exist, please input the filename include its full path: (ex: /var/lib/gitea/custom/conf/app.ini) \033[0m"
  56. read INI
  57. ls $INI > /dev/null 2>&1
  58. if [[ $? != 0 ]]; then
  59. echo -e "\033[41;37m>> Fail. We can't get the app.ini file in your input. Exit \033[0m"
  60. echo
  61. exit
  62. else
  63. cp $INI $GITEA_INI_TS
  64. if [[ $? == 0 ]]; then
  65. echo -e "\033[34m>> Pass. Make a $INI copy to \"$Bak_Folder\" good. \033[0m"
  66. else
  67. echo -e "\033[41;37m>> Fail. Make a $INI copy to \"$Bak_Folder\" failed. \033[0m"
  68. fi
  69. fi
  70. fi
  71. }
  72. BAK_GITEA_INI_BAK_Disk_A (){
  73. echo -e "\033[32mStart backup the app.ini of gitea to BAK_Disk_A...\033[0m"
  74. ls $GITEA_INI > /dev/null 2>&1
  75. if [[ $? == 0 ]]; then
  76. echo -e "\033[34m>> Pass. $GITEA_INI exist \033[0m"
  77. cp $GITEA_INI $BAK_Disk_A_GITEA_INI_TS
  78. if [[ $? == 0 ]]; then
  79. echo -e "\033[34m>> Pass. Make a $GITEA_INI copy to \"BAK_Disk_A\" good. \033[0m"
  80. else
  81. echo -e "\033[41;37m>> Fail. Make a $GITEA_INI copy to \"BAK_Disk_A\" failed. \033[0m"
  82. fi
  83. else
  84. echo -e -n "\033[33m>> Warning! $GITEA_INI doesn't exist, please input the filename include its full path: (ex: /var/lib/gitea/custom/conf/app.ini) \033[0m"
  85. read INI
  86. ls $INI > /dev/null 2>&1
  87. if [[ $? != 0 ]]; then
  88. echo -e "\033[41;37m>> Fail. We can't get the app.ini file in your input. Exit \033[0m"
  89. echo
  90. exit
  91. else
  92. cp $INI $BAK_Disk_A_GITEA_INI_TS
  93. if [[ $? == 0 ]]; then
  94. echo -e "\033[34m>> Pass. Make a $INI copy to \"BAK_Disk_A\" good. \033[0m"
  95. else
  96. echo -e "\033[41;37m>> Fail. Make a $INI copy to \"BAK_Disk_A\" failed. \033[0m"
  97. fi
  98. fi
  99. fi
  100. }
  101. BAK_GITEA_INI_BAK_Disk_B (){
  102. echo -e "\033[32mStart backup the app.ini of gitea to BAK_Disk_B...\033[0m"
  103. ls $GITEA_INI > /dev/null 2>&1
  104. if [[ $? == 0 ]]; then
  105. echo -e "\033[34m>> Pass. $GITEA_INI exist \033[0m"
  106. cp $GITEA_INI $BAK_Disk_B_GITEA_INI_TS
  107. if [[ $? == 0 ]]; then
  108. echo -e "\033[34m>> Pass. Make a $GITEA_INI copy to \"BAK_Disk_B\" good. \033[0m"
  109. else
  110. echo -e "\033[41;37m>> Fail. Make a $GITEA_INI copy to \"BAK_Disk_B\" failed. \033[0m"
  111. fi
  112. else
  113. echo -e -n "\033[33m>> Warning! $GITEA_INI doesn't exist, please input the filename include its full path: (ex: /var/lib/gitea/custom/conf/app.ini) \033[0m"
  114. read INI
  115. ls $INI > /dev/null 2>&1
  116. if [[ $? != 0 ]]; then
  117. echo -e "\033[41;37m>> Fail. We can't get the app.ini file in your input. Exit \033[0m"
  118. echo
  119. exit
  120. else
  121. cp $INI $BAK_Disk_B_GITEA_INI_TS
  122. if [[ $? == 0 ]]; then
  123. echo -e "\033[34m>> Pass. Make a $INI copy to \"BAK_Disk_B\" good. \033[0m"
  124. else
  125. echo -e "\033[41;37m>> Fail. Make a $INI copy to \"BAK_Disk_B\" failed. \033[0m"
  126. fi
  127. fi
  128. fi
  129. }
  130. echo -e "===== `date +"%Y/%m/%d %H:%M:%S"` ===== \033[45;37m$0\033[0m =====" | tee -a $LOG1
  131. echo -e "\033[33mStart backup the Script_${BAK_Project} \033[0m" | tee -a $LOG1
  132. CHK_LOG_Folder | tee -a $LOG1
  133. CHK_Bak_Folder | tee -a $LOG1
  134. BAK_GITEA_INI | tee -a $LOG1
  135. echo | tee -a $LOG1
  136. BAK_GITEA_INI_BAK_Disk_A | tee -a $LOG1
  137. BAK_GITEA_INI_BAK_Disk_B | tee -a $LOG1
  138. echo | tee -a $LOG1
  139. echo
  140. echo -e "\033[33mLOG file:"
  141. echo -e " $LOG1\033[m"
  142. echo