Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #################################################
- ## Script para Backups servidor LAMP ##
- #################################################
- ## Poner en true si solo es un sitio
- UNSITIO=false
- ## Directorio de backup y temporal
- BKDIR="/home/user/backups"
- TEMP="/tmp/"
- ## Directorio web
- WWW="/var/www"
- ## Datos conexion a base de datos
- MYSQL_HOST="localhost"
- MYSQL_USER="root"
- MYSQL_PASS=""
- ## Variables si los binarios no estan en el PATH
- MYSQL_BIN="/usr/bin/mysql"
- MYSQLDUMP_BIN="/usr/bin/mysqldump"
- FECHA=$(date '+%F')
- echo -e "[*] Inicio del proceso"
- echo -e ""
- echo -e "[*] Creando backups de bases de datos"
- cd $TEMP
- mkdir $FECHA-backup
- cd $FECHA-backup/
- mkdir $FECHA-db_backup
- mkdir $FECHA-www_backup
- for DB in `$MYSQL_BIN -e "show databases" -h $MYSQL_HOST -u $MYSQL_USER -p"$MYSQL_PASS"`; do
- if [ $DB != 'information_schema' ] && [ $DB != 'Database' ] && [ $DB != 'mysql' ] && [ $DB != 'performance_schema' ]; then
- $MYSQLDUMP_BIN --routines --triggers --quote-names -h $MYSQL_HOST -u $MYSQL_USER -p"$MYSQL_PASS" $DB > $FECHA-db_backup/$FECHA-$DB.sql
- echo -e "[*] Backup de $DB generado correctamente"
- fi
- done
- echo -e "[*] Backup de bases de datos finalizado"
- echo -e ""
- echo -e "[*] Creando backups de directorio web"
- if [ $UNSITIO = true ]; then
- tar cjf $FECHA-www_backup/$FECHA-www.tar.bz $WWW
- else
- for DIR in `find $WWW -maxdepth 1 -type d`; do
- if [ $DIR != $WWW ]; then
- echo -e "[*] Generando backup de $DIR"
- tar cjf $FECHA-www_backup/$FECHA-$(basename "$DIR").tar.bz $DIR/ > /dev/null 2>&1
- fi
- done
- fi
- echo -e ""
- echo -e "[*] Comprimiendo todos los backups"
- tar cjf $FECHA-www_backup.tar.bz $FECHA-www_backup
- tar cjf $FECHA-db_backup.tar.bz $FECHA-db_backup
- rm -rf $FECHA-www_backup
- rm -rf $FECHA-db_backup
- cd $TEMP
- echo -e "[*] Copiando archivos"
- tar cjf $BKDIR/$FECHA-backup.tar.bz $FECHA-backup/
- rm -rf $FECHA-backup
- echo -e "[*] Backup finalizado correctamente"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement