Superposición del sitio

Enviar copia de seguridad MySQL via FTP automaticamente

En este tutorial solo voy a explicar el proceso de envio FTP, si deseas saber como funsiona el resto del codigo te remito a mi otro post Automatizar copia de seguridad de la base de datos MySQL.

[code language=»bash»]
#!/bin/bash
# crea una copia de seguridad de una base de datos

###################### Variables DB #########################

DB_NAME=’my_database’
BACKUP_DIR=’/root/BACKUP_DB’
FECHA=`date –date=’now’ +%d-%m-%Y_%H-%M-%S`

################### Backup DB ########################

echo "* MySQLDUMP esta Realizando backup de la base de datos my_database"
DIR=$BACKUP_DIR"/"$FECHA"_my_database.sql"

# Archivo de configuración backup credenciales
CREDENTIALSFILE="/root/mysql_security_credentials.cnf"

# usamos mysqldump para hacer la copia de seguridad que se guarda en BACKUP_DIR
mysqldump –defaults-file=${CREDENTIALSFILE} –databases ${DB_NAME} > ${DIR}

echo "* MySQLDUMP termino el backup de la base de datos cahis_prod"

###################### Variables FTP #########################

HOST=’IP’
USER=’usuario’
PASS=’contraseña’
remote_dir=’/usuario/BACKUP_DB’
local_dir=’/root/BACKUP_DB’

################### Envio FTP ########################

echo "* Enviando backup de la base de datos al servidor FTP"

lftp -c "set ftp:list-options -a;

open ftp://$USER:$PASS@$HOST;
lcd $local_dir;
cd $remote_dir;
mirror –reverse \
–verbose \
–use-cache \
–only-newer \
–ignore-time \
–exclude a-dir-to-exclude/ \
–exclude-glob *.csv \
–exclude-glob *.log"

echo "* proceso terminado que tenga buen dia :)"
[/code]

 

mirror: para realizar una copia exacta del directorio.

podemos utilizar las siguientes opciones:

–verbose: Muestra lista de todos los archivos a medida que se transfieren.
–reverse: espejo inverso se sincroniza los archivos en base al cliente.
–only-newer: solo sincroniza archivos nuevos o modificados.
–ignore-time: Ignora el tiempo de creacion para decidir si dea sincronizar, solo tiene en cuenta el tamaño.
–use-cache: utiliza el cache para verificar mas rapido los archivos que fueron sincronizados y no tener que indexar de nuevo toda las carpeta.
–exclude-glob: Excluye archivos.
–exclude: Excluye directorios.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *