Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2017
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.57 KB | None | 0 0
  1. bash-4.2# cat /usr/bin/create-backup-all.sh
  2. #!/bin/bash
  3.  
  4.  
  5.  
  6. mysqldump=1 #####создавать дамп всех бд 1 — да; 0 — нет
  7. filedump=1 #####создавать бекап всех файлов 1 — да; 0 — нет
  8. upload=1 #### загружать на удалённый сервер? 1 — да; 0 — нет
  9. user="bortnik"
  10. pass="ku4ma!"
  11. remotehost="176.36.123.148" #куда загружать бекапы (указывать только ip) работает только если upload = 1
  12.  
  13.  
  14.  
  15. ####создание дампа всех БД
  16. USER="root" #юзер
  17. PASSWORD="Galaxys7edge" #пароль
  18. OUTPUT="/backup/`date +%d.%m.%Y`" #путь куда создаются дампы. date +%d.%m.%Y - текущая дата, не рекомендуется менять
  19.  
  20. #### создание бекапа cwd директории (поменять на своё)
  21. filedump=/
  22.  
  23.  
  24.  
  25.  
  26. #####################do not editcode bellow#####################
  27.  
  28. # check root permissions
  29. if [ "x$(id -u)" != 'x0' ]; then
  30. echo 'Error: this script can be executed only by root'
  31. exit 1
  32. fi
  33.  
  34.  
  35. echo -e "\n"
  36. echo -e "Script \e[34m$0\e[0m has successfully started. It can takes a some time. Be patient, please..."
  37. #echo -e "Script \"$0\" has successfully started. It can takes a some time. Be patient, please..."
  38.  
  39. # all code is executing via function to log all errors
  40. create ()
  41. {
  42. echo >> /var/log/$0.log
  43. echo "=====================================================" >> /var/log/$0.log
  44. echo "$(date +'%d-%b-%Y %R')" >> /var/log/$0.log
  45. echo "Script \"$0\" has successfully started..." >> /var/log/$0.log
  46. echo -e "\n"
  47.  
  48.  
  49.  
  50.  
  51. function detectos () {
  52. if [ -f /etc/redhat-release ];
  53. then
  54. yum install -y sshpass ;
  55. echo -e "$?" >> /var/log/$0.log
  56. echo -e /var/log/$0.log "\n"
  57. else
  58. apt install -y sshpass
  59. echo /var/log/$0.log sshpass was installed.
  60. echo -e /var/log/$0.log "\n"
  61. fi
  62. }
  63.  
  64. detectos 2>&1 >> /var/log/$0.log
  65.  
  66. # Create directory if not exist
  67. function dir () {
  68. if [[ ! -d $OUTPUT && ! -L $OUTPUT ]]; then
  69. mkdir -p $OUTPUT && cd $OUTPUT
  70. fi
  71. }
  72.  
  73. dir
  74.  
  75. if [ $mysqldump = "1" ]; then
  76.  
  77. databases=`mysql --user=$USER --password=$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
  78.  
  79. for db in $databases; do
  80. if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != _* ]] ; then
  81.  
  82. mysqldump --routines --skip-add-locks --user=$USER --password=$PASSWORD --databases $db > $OUTPUT/$db.sql;
  83. echo -e "Dump \e[34m$db\e[0m was successfully created and located here: \033[1m\e[34m $OUTPUT/$db.sql\e[0m\033[0m" 2>&1
  84.  
  85.  
  86. fi
  87. done
  88. fi
  89. }
  90.  
  91. create >> /var/log/$0.log
  92.  
  93. echo -e "\n"
  94.  
  95.  
  96. clear
  97.  
  98.  
  99. function output ()
  100. {
  101.  
  102.  
  103. echo "Dump all DB was created successfully."
  104. echo " ------"
  105. echo "Would you like to open log file?"
  106. echo
  107. echo "1) Yes"
  108. echo "2) No"
  109. echo "3) No, just show me path to log file"
  110. echo
  111.  
  112. read output
  113.  
  114. case "$output" in
  115.  
  116. "1" | "Yes" | "yes" | "y" )
  117. echo
  118. tail -n50 /var/log/$0.log
  119. ;;
  120.  
  121. "2" | "No" | "no" | "n")
  122. continue
  123. ;;
  124.  
  125. "3")
  126. echo "/var/log/$0.log"
  127. ;;
  128.  
  129. * )
  130. echo
  131. tail -n50 /var/log/$0.log
  132. ;;
  133.  
  134. esac
  135.  
  136.  
  137. }
  138.  
  139. output
  140.  
  141. if [ $? = "0" ]
  142. then
  143. echo -e "\n" 2>&1 >> /var/log/$0.log
  144. echo -e "Dump all DB was created successfully. Problems was no emerged." >> /var/log/$0.log
  145. else
  146. echo -e "\n" 2>&1 >> /var/log/$0.log
  147. echo -e "Some error has emerged during execute \e[34m$0\e[0m." >> /var/log/$0.log
  148. fi
  149.  
  150.  
  151.  
  152. continue
  153. sleep 1
  154.  
  155. function dump_server () {
  156. echo " "
  157. echo " ------"
  158. echo "Would you like to create tar.gz archive of all files of this server?"
  159. echo
  160. echo "1) Yes"
  161. echo "2) No, skip this"
  162. echo
  163.  
  164. read dump_server
  165.  
  166. case "$dump_server" in
  167.  
  168. "1" | "Yes" | "yes" | "y" )
  169. cd $OUTPUT && tar cvpzf server_backup.tar.gz --exclude=/proc --exclude=/ztemp --exclude=/media --exclude=/mnt --exclude=/opt --exclude=/srv --exclude=/tmp --exclude=$OUTPUT/server_backup*.tar.gz --one-file-system /
  170. sleep 1
  171. echo -e "\n" 2>&1 >> /var/log/$0.log
  172. echo -e "server_backup.tar.gz was created successfully. Archive with backup is located here: $OUTPUT/server_backup.tar.gz" 2>&1 >> /var/log/$0.log
  173. ;;
  174.  
  175. "2" | "No" | "no" | "n")
  176. continue
  177. ;;
  178.  
  179. * )
  180. cd $OUTPUT && tar cvpzf server_backup.tar.gz --exclude=/proc --exclude=/ztemp --exclude=/media --exclude=/mnt --exclude=/opt --exclude=/srv --exclude=/tmp --exclude=$OUTPUT/server_backup*.tar.gz --one-file-system /
  181. ;;
  182.  
  183. esac
  184. }
  185.  
  186. dump_server
  187. continue
  188. sleep 1
  189.  
  190. continue
  191. echo -e "\n" 2>&1 >> /var/log/$0.log
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement