Que feo que es no hacer backups y despues perder datos solo por no tomarme 5 minutos para hacer los debidos respaldos. A quien no le ha pasaso? A mi si, y es por eso que me di a la tarea de buscar como hacer backups automaticos en linux y de manera sencilla. Si bien existen muchas maneras la que les voy a explicar es muy sencilla y la encontre en esta web.
Vamos a usar la herramienta automysqlbackup que no es mas que un script que hace uso de mysqldump para realizar los backups.
Paso 1: Comencemos, primero la instalacion:
sudo apt-get install automysqlbackup
si no usan ubuntu o alguna distro basada en debian pueden de todas maneras ir a la pagina del proyecto y bajar un archivo .sh que es igual de facil de usar.
Paso 2: Ahora vamos a editar los algunos datos como por ejemplo donde queremos guardar los respaldos, para eso hacemos:
sudo gedit /etc/default/automysqlbackup
Paso 3: Busquen la linea que dice
# Host name (or IP address) of MySQL server e.g localhost
DBHOST=localhost
Ahi colocan el la direccion del host de donde estan por hacer los backups, yo en mi caso deje localhost porque es para respaldar las bases de datos de mi propia pc.
Paso 4: Ahora busquen…
#DBNAMES=»db_ispconfig web1 web2 web3″
DBNAMES=`find /var/lib/mysql -mindepth 1 -maxdepth 1 -type d | cut -d’/’ -f5 | grep -v ^mysql\$ | tr \\\r\\\n ,\ `
Pueden dejar eso asi tal cual esta y lograran que se haga backup de todas las bases de datos, o pueden modificarlos como indica el ejemplo para solo resguardar algunas bases de datos especificas.
Paso 5: Tambien busquen…
BACKUPDIR=»/var/lib/automysqlbackup»
Eso deben cambiarlo por la direccion donde se vayan a hacer los backups, recomiendo alguna particion que no sea la raiz de Linux. Sino cuando decidan cambiar de distro se van a dar con que se olvidaron los backups…como me paso a mi
Paso 6: Y por ultimo editamos la linea
MAILADDR=»user@domain.com»
Ponemos nuestra direccion de email si queremos que se nos envie un mail con los backups, recomiendo no usarlo, pongan un # delante de la linea sino se vuelve molesto recibir tantos mails con archivos.
Guarden y cierren el archivo.
Ahora para hacer el backup solo deben escribir en la consola lo siguiente:
automysqlbackup
Y veran que la carpeta que elijieron tiene los resguardos.
El problema viene en que esto aun no es automatico, mas bien es semi-automatico, para hacerlo totalmente automatico debemos hacer uso de cron. Lo pueden hacer solo con la consola pero yo prefiero el metodo grafico:
Paso 8: Instalar schedule Cron
sudo apt-get install gnome-schedule
Paso 9: Apretar ALT+F2 y escribir gnome-schedule
Cuando aparezca la ventana para configurar las tareas programadas, pincharemos en “Nuevo” y seleccionaremos la opción “Una tarea que se lanzará repetidamente” para crear una nueva tarea.
En la ventana siguiente indicaremos un nombre para la nueva tarea, por ejemplo, “backups mysql” y, a continuación, escribiremos el comando que a ejecutar:
automysqlbackup
Ahora, sólo falta establecer el tiempo de intervalo deseado para actualizar la imagen, por ejemplo yo lo deje en por semana. Por último, pulsaremos “Añadir”. Ya hemos terminado de configurar la tarea en el planificador. Asi les tiene que quedar:
Te consulto algo, así como lo seteas sirve para hacer backup de la base de datos de wordpress?
Si, si tienes el wordpress en tu pc, sino recomiendo usar wp-db-backup del cual ya hable en este post
https://paraisolinux.com/los-3-plugins-mas-importantes-para-wordpress/
Wow muchas gracias, no lo conocía.
Saludos!
Uolas, tengo la siguiente duda, hay alguna posibilidad de setear el automysqlbackup para que de permisos de escritura y lectura a otros usuarios? Porque en archivo de configuración que mensionás al editar agrega lo siguiente (que ocurre en realmente): # Backup directory location e.g /backups # Folders inside this one will be created (daily, weekly, etc.), and the # subfolders will be database names. Note that backups will be owned by # root, with Unix rights 0600. BACKUPDIR=»/var/lib/automysqlbackup» Es decir, solo el root puede utilizar estos datos, en mi caso estoy accediendo desde un usuario distinto del root (tengo acceso… Leer mas »
Se entendio :)
A ver….ya no uso el programa pero recuerdo bien que no era necesario cambiar a root para ver los archivos. Como usuario normal los podia abrir y modificar perfectamente.
Pero…en el caso de que no te suceda asi se me ocurre que una solucion podria ser programar un cron para que cambie los permisos de la carpeta y los archivos con chmod cada cierto tiempo.
No me deja instalar el «automysqlbackup». No entiendo porque no lo encuentra en los repositorios.
¿Alguna solución? ¿Alguna otra forma de hacerlo?
Un saludo
Si, usa el archivo .sh. Colocalo en cualquier carpeta. Es lo mismo que instalarlo desde los repositorios
Ok, muchas gracias, lo estoy probando con CRON para que me lo haga todos los dias 30 de cada mes.
Haber
Tengo un problema pues no me genera el archivo o los archivos,pero tampoco me sale error puse DBNAMES=’all’ y no genera nada :( espero me colabores
bueno, ya me genera los archivos .sql pero los genera vacios :(
Por favor prueba escribiendo tu mismo las comillas, tanto las simples como las dobles
ummm no funciona ya las remplace todas tal vez este haciendo algo mal :(
Porfavor revisa el pastie y me dices que tengo malo:
http://pastie.org/private/vdeqelg0uhrq4hrpqhksqw
Muy util y bien detallado los pasos para instalar y hacer funcionar el autmysqlbackup!
No me funciona el backup con tareas programadas, de hecho siempre tengo que correrlo como sudo si no no me funciona, el problema es en la tarea programada, cuando pongo el comando pues como pide contraseña no funciona, sabes si hay alguna forma de arreglar eso?