tfwfactory
16/08/2014, 02:06
SI el script te está dando fallos es porque lo debes de estar guardando utilizando algún programa como dreamweaver o similar , estos programas lo que pasa es que dejan saltos de linea y espacios en el código , por eso , debes asegurarte de que no los hay para que no te den en la ejecución ningún tipo de problema , te voy a dejar una modificación del script y tal cual desde el principio al final lo copias asegurándote de que no hay ningun tipo de espacio , si lo creas como root no debes tener problema con los permisos
Una vez accedas por ssh a tu servidor lo pegas , cuando accedas fuera de la raiz de tu servidor - de root - , observarás una carpeta con el nombre mysql_backups , en la misma tendrás cada base de datos guardada en un archivo comprimido de forma independiente
El script
Recordarte que estos parámetros son de suma importancia que los pongas de forma correcta :
En los mismos están datos tan sensibles como el usuario que vas a usar con plenos derechos de acceso a mysql y el password del mismo y por otro lado los paths o rutas según cada sistema operativo a mysql para lectura y dump de las bases de datos
No deberias de tener problema al ejecutarlo pegando el código en la consola de ssh , una vez pegado este código dale a enter , si tienes problema de funcionamiento me comentas , también puedes copiarlo a un archivo de texto y cambiar la terminación de .txt por .sh , asegúrate de que no hay espacios y lo subes al servidor si usas filezilla por ejemplo o a través del editor nano de ssh o el que utilices , dentro de nano pegas el código y creas ese archivo en el propio servidor - quizás es lo más cómodo -
Ya me dirás que tal fue , un saludo
Una vez accedas por ssh a tu servidor lo pegas , cuando accedas fuera de la raiz de tu servidor - de root - , observarás una carpeta con el nombre mysql_backups , en la misma tendrás cada base de datos guardada en un archivo comprimido de forma independiente
El script
#! /bin/bash
TIMESTAMP=$(date +"%F")
BACKUP_DIR="/mysql_backups/$TIMESTAMP"
MYSQL_USER="root"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="Tu Clave Root para MySQL o como el usuario que tenga Permisos"
MYSQLDUMP=/usr/bin/mysqldump
mkdir -p "$BACKUP_DIR/mysql"
databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)" `
for db in $databases;
do
$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --databases $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
done
Recordarte que estos parámetros son de suma importancia que los pongas de forma correcta :
BACKUP_DIR="/mysql_backups/$TIMESTAMP"
MYSQL_USER="root"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="Tu Clave Root para MySQL o como el usuario que tenga Permisos"
MYSQLDUMP=/usr/bin/mysqldump
No deberias de tener problema al ejecutarlo pegando el código en la consola de ssh , una vez pegado este código dale a enter , si tienes problema de funcionamiento me comentas , también puedes copiarlo a un archivo de texto y cambiar la terminación de .txt por .sh , asegúrate de que no hay espacios y lo subes al servidor si usas filezilla por ejemplo o a través del editor nano de ssh o el que utilices , dentro de nano pegas el código y creas ese archivo en el propio servidor - quizás es lo más cómodo -
Ya me dirás que tal fue , un saludo