Un script bash simple para la copia de seguridad de la base de datos MySQL

Un script bash simple para la copia de seguridad de la base de datos MySQL

Q. Cómo programar la copia de seguridad de la base de datos MySQL? Un script bash para la copia de seguridad de la base de datos MySQL. En este tutorial, encontrará un script bash simple, que toma la copia de seguridad de la base de datos MySQL, archiva la copia de seguridad y almacena el sistema local. Este script también eliminará las copias de seguridad más antiguas desde el disco hasta el espacio libre. Puede especificar la cantidad de días para mantener la copia de seguridad en el disco local. También puede usar este tutorial para hacer una copia de seguridad de la base de datos MySQL y almacenar una copia en el servidor FTP remoto.

Crear script de copia de seguridad mysql

Ahora, copie el siguiente contenido en un archivo de script (como: /backup /mysql-backup.sh) y guarde en su sistema Linux. Use este enlace para descargar script. Después de cambiar algunos valores de configuración en la sección "actualizar los valores a continuación" en el script según su entorno.

#!/bin/Bash ########################################## ################# ## ## Mysql Base de datos Script ## escrito por: Rahul Kumar ## url: https: // tecadmin.net/ bash-script-mysql-database-backup/ ## Última actualización: 05 de enero de 2019 ## ######################## ################################### Ruta de exportación =/bin:/usr/bin:/usr /local/bin Today = "fecha +"%d%b%y "" ############################ ############################# ################ Actualización a continuación Valores ###################### DB_BACKUP_PATH = "/Backup/Dbbackup" mysql_host = "localhost" mysql_port = "3306" mysql_user = "root" " Mysql_password = "mySecret" database_name = "mydb" backup_etain_days = 30 ## Número de días para mantener la copia de respaldo local ####################### ################################### mkdir -p $ db_backup_path/$ Today echo "Copia de copia de seguridad inicial para la base de datos -$ database_name" mysqldump -h $ mysql_host \ -p $ mysql_port \ -u $ mysql_user \ -p $ mysql_password \ $ database_name | gzip> $ db_backup_path/$ hoy/$ database_name-$ Today.sql.GZ si [$? -eq 0]; Luego, echo "copia de seguridad de la base de datos completó con éxito el error de" else eco "encontrado durante la copia de seguridad" Salida 1 fi ##### Retire las copias de seguridad más antiguas que backup_etain_days días #### dbdeldate = "date +"%d%b%y " --date = "$ backup_etain_days hace días" "if [ ! -z $ db_backup_path]; Entonces cd $ db_backup_path if [ ! -z $ dbdeldate] && [-d $ dbdeldate]; Entonces rm -rf $ dbdeldate fi fi ### Fin del script ####
1234567891011121314151617181920212223252526272829303132333435363738394041424344444454444444955555354555557777#!/bin/Bash ########################################## ###################.net/bash-script-mysql-database-backup/## Última actualización: 05 de enero de 2019 ########################## ################################### Ruta de exportación =/bin:/usr/bin:/usr /Local/Bintoday = 'fecha +"%d%b%y"' ############################## ################################################# Actualizar A continuación valores ###################### DB_BACKUP_PATH = '/Backup/dbbackup'Mysql_Host =' localhost'mysql_port = '3306'mysql_user =' root'mysql_password = 'mysecret'database_name =' mydb'backup_etain_days = 30 ## Número de días para mantener la copia de respaldo local ######################## ################################## Mkdir -p $ db_backup_path/$ Today echo "Copia de seguridad iniciada para la base de datos -$ database_name" mysqldump -h $ mysql_host \ -p $ mysql_port \ -u $ mysql_user \ -p $ mysql_password \ $ database_name | gzip> $ db_backup_path/$ hoy/$ database_name-$ Today.sql.GZ si [$? -eq 0]; luego echo "copia de seguridad de la base de datos completó con éxito el error de" else eco "encontrado durante la copia de seguridad" Salida 1fi ##### Retire las copias de seguridad más antiguas que backup_etain_days días #### dbdeldate = 'date +"%d%b%y" - - -date = "$ backup_etain_days hace días" 'if [ ! -z $ db_backup_path]; Entonces cd $ db_backup_path if [ ! -z $ dbdeldate] && [-d $ dbdeldate]; Entonces rm -rf $ dbdeldate fifi ### Fin del script ####

Después de crear o descargar el script, asegúrese de establecer el permiso de ejecución para ejecutar correctamente.

chmod +x /backup /mysql-backup.mierda 

Programe guión en Crontab

Ahora programen el script en Crontab para ejecutarse a diario y completar la copia de seguridad regular. Editar crontab en su sistema con crontab -e dominio. Agregue la siguiente configuración para habilitar la copia de seguridad a las 2 de la mañana.

0 2 * * * root /backup /mysql-backup.mierda 

Guarde su archivo CRONTAB. Después de habilitar a CRON, el script tomará una copia de seguridad automáticamente, pero mantenga las copias de seguridad de los controles semanales o mensuales para asegurarse de.