Saltar al contenido principal.

Script de copia de seguridad de bases de datos Mysql en una carpeta local



Decidí abandonar por completo el uso de ispmanager, ya que ocupa recursos y solo se usa para una cosa: copia de seguridad de datos. Pero como esto se puede hacer personalmente, no tiene sentido mantener el panel en el servidor durante diez sitios.

Es por eso que la primera tarea es crear copias de respaldo de las bases de datos mysql. Las bases de datos son pequeñas, por lo que se utilizará la versión más simple de las copias de seguridad: crear archivos y colocarlos en una carpeta de servidor específica.



Por supuesto, sería más seguro enviar una copia de seguridad sftp a otro servidor en otro centro de datos (y el país, que ya existe), pero como mis sitios cambian un par de veces al mes, la descarga de copias de seguridad cada dos días no es difícil por ocupación. :)

No tenía experiencia escribiendo guiones en Bash hasta este momento. Pero no fue difícil averiguarlo, dados los numerosos ejemplos de scripts de copia de seguridad de mysql en varios sitios sobre la administración del servidor.



El propio script mysqlbackup.sh:

  #! / bin / bash
 # Inicializar variables

 TMPDIR = "sqlfiles"
 BACKUPDIR = "/ almacenamiento"
 USUARIO = "raíz"
 PASS = "xxx"
 TIMEY = $ (fecha +% Y-% m-% d)

 # Comprobar la disponibilidad de carpetas para copias de seguridad.

 si [!  -d "$ BACKUPDIR"];  entonces
   mkdir -m 0700 "$ BACKUPDIR"
 fi

 # Comprobar la disponibilidad de un directorio temporal.

 si [!  -d "$ BACKUPDIR / $ TMPDIR"];  entonces
   mkdir -m 0700 "$ BACKUPDIR / $ TMPDIR"
 fi

 # Guardar copias

 cd "$ BACKUPDIR / $ TMPDIR"
 para la base de datos en `mysql -s -r -e 'MOSTRAR BASES DE DATOS' |  grep -v Base de datos |  grep -v information_schema |  grep -v performance_schema |  grep -v mysql`;
 hacer mysqldump $ database> $ database.sql; hecho

 # Crear archivo

 cd "$ BACKUPDIR"
 bases de datos tar -cjf - "$ TIMEY" .tbz2 "$ TMPDIR"
 Bases de datos chmod 0600 - "$ TIMEY" .tbz2

 # Borrar carpeta temporal

 rm -r $ TMPDIR
 echo "Bases de datos guardadas!"
 salida 1 

El trabajo con mysql se realiza directamente desde el usuario root, ya que tiene acceso a todas las bases de datos a la vez.

Las bases de datos information_schema , mysql , performance_schema se excluyen de la copia de seguridad. Luego, todas las bases de datos se colocan en un archivo bzip2 y se almacenan en una carpeta específica desde donde se pueden descargar más adelante.



La tarea para ejecutar el script una vez al día se escribe en el programador de Cron, por ejemplo, a la una de la mañana.

  00 01 * * * sh ~ / mysqlbackup.sh 

Si se configura el correo electrónico correcto en la configuración de la corona, se enviará un informe a la oficina postal, en la que se mostrarán las bases de datos guardadas.

PS También puede crear copias de seguridad y varias veces al día. Para hacer esto, debe especificar la hora de creación en el nombre del archivo para que el archivo no se sobrescriba.



¿Cómo calificas el artículo?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (No hay valoraciones aún)
Cargando ...

” 4 Comentarios " Las bases de datos de copia de seguridad del script Mysql en una carpeta local "

    1. Correcto, el tiempo perdido. Pero solo porque uso el archivo .my.cnf en la carpeta raíz de mi casa. Hay nombre de usuario y contraseña registrados en este formato:

        [cliente]
       usuario = root
       contraseña = 12345qwerty 

      Deberías haber añadido esto a la publicación anterior. :)

Añadir un comentario

Su correo electrónico no será publicado.