Use Mysqldump Gzip para crear un archivo comprimido para una base de datos MySQL
-
Use
mysqldump gzip
para crear un archivo comprimido para una base de datos MySQL -
Use
crontab
para automatizar copias de seguridad comprimidas
Este tutorial guía el uso de mysqldump gzip
con y sin crontab
para realizar copias de seguridad comprimidas de una base de datos MySQL específica.
Use mysqldump gzip
para crear un archivo comprimido para una base de datos MySQL
mysqldump
y gzip
son utilidades del sistema operativo Linux. El mysqldump
se utiliza para realizar una copia de seguridad de la base de datos.
Usamos el gzip
de la siguiente manera si podemos guardar la copia de seguridad como un archivo comprimido en el directorio actual.
Código de ejemplo uno:
-- Syntax: mysqldump -u username -ppassword db_name | gzip > dumpfilename.sql.gz
mysqldump -u root -p test | gzip > dump_test_db.sql.gz
Ahora, use el comando ls
para confirmar que se crea el archivo comprimido. Veamos otro ejemplo en el que los datos pasan por diferentes archivos y se guardan en el último archivo.
Código de ejemplo dos:
-- Syntax: mysqldump -u username -ppassword db_name | gzip > file1.gz > file2.gz
mysqldump -u root -p test | gzip > file1.gz > file2.gz > file3.gz
Producción :
$> ls -l
-rw-r--r-- 1 root root 0 14:35 21 May file1.gz
-rw-r--r-- 1 root root 0 14:35 21 May file2.gz
-rw-r--r-- 1 root root 453 14:35 21 May file3.gz
En este ejemplo, se ejecuta mysqldump
y la salida generada se redirige utilizando el símbolo de canalización (|
). Luego, la tubería envía la salida estándar al comando gzip
como entrada estándar.
El >
es el operador de redirección de salida que continúa la redirección de datos hasta que se encuentra el último nombre de archivo, y este sería el archivo donde se guardarán los datos.
Vea la salida dada arriba; el último archivo es archivo3
, que contiene el tamaño de datos 453
, mientras que el tamaño de archivo1
y archivo2
es 0
. Aquí hay una guía detallada sobre los diferentes parámetros del gzip
y sus usos.
También podemos automatizar las copias de seguridad comprimidas usando crontab
. Aprendamos eso en la siguiente sección.
Use crontab
para automatizar copias de seguridad comprimidas
Creamos un trabajo cron para automatizar el procedimiento de tomar copias de seguridad comprimidas de la base de datos donde el trabajo cron ejecutará el comando mysqldump
en el momento particular que le asignará.
Necesitamos seguir los pasos para configurar copias de seguridad comprimidas automatizadas para la base de datos MySQL a través de un trabajo cron.
Paso 1: Cree un archivo .my.cnf
en el directorio de inicio del usuario.
sudo nano ~/.my.cnf
Escriba el texto exacto como se indica a continuación.
[client]
user = db_username
password = db_password
No olvides actualizar el db_username
y db_password
con tus credenciales. Por ejemplo, el nombre de usuario es root
y la contraseña es 12345
.
Código de ejemplo:
[client]
user = root
password = 12345
Una vez hecho esto, guarde y salga del archivo.
Paso 2: restrinja el permiso del archivo de credenciales. De esta forma, el usuario especificado tendrá acceso a ella.
$ chmod 600 ~/.my.cnf
Paso 3: A continuación, cree un directorio para almacenar todas las copias de seguridad en un solo lugar.
$ mkdir ~/database_backups
Paso 4: Abra el archivo crontab
ahora.
$ crontab -e
Escribe el siguiente trabajo en el archivo crontab
que acabas de abrir. Creará copias de seguridad comprimidas de la base de datos diariamente a las 3 AM.
En el siguiente trabajo, el nombre de usuario es root
, el nombre de la base de datos es test
, y la carpeta database_backups
almacena todas las copias de seguridad.
$ 0 3* * * /usr/bin/mysqldump -u root test | gzip > /home/root/database_backups/test-$(date +\%Y\%m\%d).gz