Advertisement
Guest User

Untitled

a guest
Sep 26th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. #!/bin/bash
  2. #################################################
  3. ## Script para Backups servidor LAMP ##
  4. #################################################
  5.  
  6. ## Poner en true si solo es un sitio
  7. UNSITIO=false
  8.  
  9. ## Directorio de backup y temporal
  10. BKDIR="/home/user/backups"
  11. TEMP="/tmp/"
  12.  
  13. ## Directorio web
  14. WWW="/var/www"
  15.  
  16. ## Datos conexion a base de datos
  17. MYSQL_HOST="localhost"
  18. MYSQL_USER="root"
  19. MYSQL_PASS=""
  20.  
  21. ## Variables si los binarios no estan en el PATH
  22. MYSQL_BIN="/usr/bin/mysql"
  23. MYSQLDUMP_BIN="/usr/bin/mysqldump"
  24. FECHA=$(date '+%F')
  25.  
  26. echo -e "[*] Inicio del proceso"
  27. echo -e ""
  28. echo -e "[*] Creando backups de bases de datos"
  29.  
  30. cd $TEMP
  31. mkdir $FECHA-backup
  32.  
  33. cd $FECHA-backup/
  34. mkdir $FECHA-db_backup
  35. mkdir $FECHA-www_backup
  36.  
  37. for DB in `$MYSQL_BIN -e "show databases" -h $MYSQL_HOST -u $MYSQL_USER -p"$MYSQL_PASS"`; do
  38. if [ $DB != 'information_schema' ] && [ $DB != 'Database' ] && [ $DB != 'mysql' ] && [ $DB != 'performance_schema' ]; then
  39. $MYSQLDUMP_BIN --routines --triggers --quote-names -h $MYSQL_HOST -u $MYSQL_USER -p"$MYSQL_PASS" $DB > $FECHA-db_backup/$FECHA-$DB.sql
  40. echo -e "[*] Backup de $DB generado correctamente"
  41. fi
  42. done
  43.  
  44. echo -e "[*] Backup de bases de datos finalizado"
  45. echo -e ""
  46. echo -e "[*] Creando backups de directorio web"
  47.  
  48. if [ $UNSITIO = true ]; then
  49. tar cjf $FECHA-www_backup/$FECHA-www.tar.bz $WWW
  50. else
  51. for DIR in `find $WWW -maxdepth 1 -type d`; do
  52. if [ $DIR != $WWW ]; then
  53. echo -e "[*] Generando backup de $DIR"
  54. tar cjf $FECHA-www_backup/$FECHA-$(basename "$DIR").tar.bz $DIR/ > /dev/null 2>&1
  55. fi
  56. done
  57. fi
  58.  
  59. echo -e ""
  60. echo -e "[*] Comprimiendo todos los backups"
  61.  
  62. tar cjf $FECHA-www_backup.tar.bz $FECHA-www_backup
  63. tar cjf $FECHA-db_backup.tar.bz $FECHA-db_backup
  64.  
  65. rm -rf $FECHA-www_backup
  66. rm -rf $FECHA-db_backup
  67.  
  68. cd $TEMP
  69.  
  70. echo -e "[*] Copiando archivos"
  71. tar cjf $BKDIR/$FECHA-backup.tar.bz $FECHA-backup/
  72. rm -rf $FECHA-backup
  73. echo -e "[*] Backup finalizado correctamente"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement