elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Script php Backup MySQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Script php Backup MySQL  (Leído 9,170 veces)
EuroHack

Desconectado Desconectado

Mensajes: 190


Gracias.


Ver Perfil WWW
Script php Backup MySQL
« en: 23 Octubre 2009, 17:29 pm »

¿Alguien sabe un Script para hacer Backup de MySQL?

Estoy 3 días probando el siguiente script y no e conseguido que funcione, el servidor es linux.

Código:
<? 
// Nombre del archivo de con el cual queremos que se guarde la base de datos
$filename = "fichero.sql"; 
// Cabeceras para forzar al navegador a guardar el archivo
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$filename");
 
$usuario="space_4134845";  // Usuario de la base de datos, un ejemplo podria ser 'root'
$passwd="*****";  // Contraseña asignada al usuario
$bd="space_4134845_Nuke";  // Nombre de la Base de Datos a exportar
 
// Funciones para exportar la base de datos
$executa = "/mysql/bin/mysqldump -u $usuario --password=$passwd --opt $bd";
system($executa, $resultado);
 
// Comprobar si se ha realizado bien, si no es así, mostrará un mensaje de error
if ($resultado) { echo "<H1>Error ejecutando comando: $executa</H1>\n"; }
 
?>

E estado siguiendo los pasos que me decían en http://www.forosdelweb.com/f86/script-php-backup-mysql-746295/#post3134722 pero no e conseguido hacerlo funcionar.


Script de
http://www.forosdelweb.com/wiki/PHP:%C2%BFC%C3%B3mo_exportar_mi_base_de_datos_a_un_archivo_%27archivo.sql%27%3F


En línea

Modulo = Hardware
1 Salu2 = Un Saludo
1 S2 = Un Saludo
GC = Gracias.

¿? = Pregunta, por ejemplo, como ¿? en vez de ¿Como...?
Red Mx
Rojito
Colaborador
***
Desconectado Desconectado

Mensajes: 3.649


Viva México Cabrones...


Ver Perfil WWW
Re: Script php Backup MySQL
« Respuesta #1 en: 23 Octubre 2009, 17:51 pm »

Pues puedes hacerlo de muchas formas yo por ejemplo tengo una carpeta reservada para esto.

Si tu server es linux y puedes programar un cron ya estas del otro lado


backupalldatabases.sh
Código
  1. #!/bin/bash
  2.  
  3. # Ruta en la que se guarda el log de la operacion de backup.
  4. logfile="/home/integra/public_html/ic/mysql.log"
  5.  
  6. # Ruta en la que guardar los backups
  7. backup_dir="/home/integra/public_html/ic"
  8.  
  9. # Usuario de MySQL si es Cpanel tu usuario y contraseña de Cpanel
  10. username="****"
  11. password="**"
  12.  
  13. # Creamos un nuevo log del proceso de backup
  14. rm -rf $logfile
  15. touch $logfile
  16.  
  17. # Mediante esta instruccion, generamos un nombre de fichero con el dia y la hora del proceso de backup.
  18. timeslot=`date +%Y%m%d_%H%M`
  19.  
  20. cd $backup_dir
  21.  
  22. # Iteramos a traves de la lista de bases de datos a la que el usuario tiene acceso.
  23.  for BBDD in $( mysql -u $username --password=$password -h localhost -Bse 'show databases' ); do
  24.        echo "Creando copia de seguridad de $BBDD"
  25.  
  26.        # Volcamos la base de datos en un fichero temporal
  27.        mysqldump --user=$username --password=$password $BBDD > datos.sql
  28.  
  29.        # Y lo comprimimos en un tar.bz2 para ocupar lo mínimo. Util en bases de datos grandes.
  30.        tar cvjf mysql-$BBDD-$timeslot.tar.bz2 *.sql
  31.  
  32.        # El nombre del fichero resultante contiene el nombre de la base de datos y la fecha de la copia.
  33.        # De esta manera, cuando sea necesaria su restauracion sera mas sencillo de localizar.
  34.  
  35.        echo "Backup completo en la base de datos: $BBDD (mysql-$BBDD-$timeslot.tar.bz2)" >> $logfile
  36.  
  37.        # Borramos el fichero temporal
  38.        rm datos.sql
  39.  done
  40. #-------------------------------------------------
  41.  
  42. #
  43. # Finalmente podemos enviar un email con el log de acciones para tener controlado el proceso de copia
  44. #
  45. #cat $logfile|mail -s "Proceso Backup $HOSTNAME = MySQL" <tu@mail.com>

Asi te hara un backup de todas tus base de datos te las comprime y te las deja listas para usarse, en la tarea cron puedes configurar cada cuando y a que hora quieres que haga el backup.

las rutas que hay son de ejemplo que tengo con un cliente cámbialas por las tuyas


En línea

Desarrollar Malware Es Causa De Cancer...
EuroHack

Desconectado Desconectado

Mensajes: 190


Gracias.


Ver Perfil WWW
Re: Script php Backup MySQL
« Respuesta #2 en: 23 Octubre 2009, 18:54 pm »

Gracias, acabo de encontrar otro que esta bueno. = http://www.phpmybackuppro.net/opinion.php lo que no me gusta es que tengo que meter el mismo loguin que MySQL.

1 Salu2
En línea

Modulo = Hardware
1 Salu2 = Un Saludo
1 S2 = Un Saludo
GC = Gracias.

¿? = Pregunta, por ejemplo, como ¿? en vez de ¿Como...?
^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Script php Backup MySQL
« Respuesta #3 en: 26 Octubre 2009, 21:02 pm »

Mysqldump hace backups logicos no fisicos. Con un script en crontab como te dice el amigo aca podrias hacer el dumpeo de las tablas (Que para mejor atomicidad es preferible bloquear las tablas en modo lectura, o pasarle los parametros correspondientes a mysqldump para que lo haga por ti... en este caso  --opt ) y para mayor rapidez de dumpeo, puedes desabilitar temporalmente las llaves he indices --disable-keys

Mi recomendacion de bloquear tablas ante lectura/escritura es por el mero hecho que utilizar mysqldump sin parametros, hara un backup logico de la estructura de las tablas bloqueando cada campo correspondiente por donde vaya mysqldump, digase, una tabla con los valores:

nombres char  --> (suponte que tienes 5,000 registros)
apellidos char --> (suponte que tienes 5,100 registros)

Ahora usas mysqldump sin parametros:

mysqldump bloquea a modo lectura/escritura (mientras va haciendo el dump) el campo :
nombres char

Sin embargo el campo (apellidos char) donde mysqldump aun no ha llegado (No llegara hasta que no termine de archivar los 5,000 registros del campo nombre) en el campo apellidos aun sigue vigente sin ningun tipo de bloqueos y cualquier usuario si tiene capacidad de realizar cualquier tipo de transaccion (UPDATE, INSERT, DELETE) en el campo apellidos, cuando mysqldump termine de archivar nombres, pasara a apellidos por ende desbloqueara el campo nombres y bloqueare el campo apellidos para realizar el mismo proceso, por lo tanto en lo que va archivando campo apellidos (que esta bloqueado vs escritura) cualquier dato puede ser insertado o actualizado en el campo 'nombres' y NO, estos ultimos datos no seran parte del backup que esta realizando mysqldump, ya mysqldump termino con el campo 'nombres' y no volvera para atras, por ende este tipo de backup puede quedar inconsistente (por falta de datos en tiempo real).

Pero si bloqueas las tablas antes de iniciar el dump, como no es posible escribir en ninguno de los campos de una tabla, todos los datos seran consistentes y actuales  ;)  Al menos que quieras hacer el backup de manera fisica con mysqlhotcopy pero eso ya es otra historia.
En línea

дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: Script php Backup MySQL
« Respuesta #4 en: 26 Octubre 2009, 21:22 pm »

No, no te va a salir si tu host tiene el safe mod prendido.. system().

Prueba lo que te dice mi amigo Rojo y Tifa. Saludos.
En línea

EuroHack

Desconectado Desconectado

Mensajes: 190


Gracias.


Ver Perfil WWW
Re: Script php Backup MySQL
« Respuesta #5 en: 1 Noviembre 2009, 21:08 pm »

No me funciona el codigo que a puesto Red Mx.
En línea

Modulo = Hardware
1 Salu2 = Un Saludo
1 S2 = Un Saludo
GC = Gracias.

¿? = Pregunta, por ejemplo, como ¿? en vez de ¿Como...?
Red Mx
Rojito
Colaborador
***
Desconectado Desconectado

Mensajes: 3.649


Viva México Cabrones...


Ver Perfil WWW
Re: Script php Backup MySQL
« Respuesta #6 en: 2 Noviembre 2009, 00:52 am »

No me funciona el codigo que a puesto Red Mx.

programaste el cron y vaya tiene permisos para ejecutar el archivo (CHMOD 777)  tienes las rutas correctamente?
En línea

Desarrollar Malware Es Causa De Cancer...
EuroHack

Desconectado Desconectado

Mensajes: 190


Gracias.


Ver Perfil WWW
Re: Script php Backup MySQL
« Respuesta #7 en: 2 Noviembre 2009, 11:32 am »

sitiene 777,lo de cron no se que es. pero los datos de login ya los e puesto.
En línea

Modulo = Hardware
1 Salu2 = Un Saludo
1 S2 = Un Saludo
GC = Gracias.

¿? = Pregunta, por ejemplo, como ¿? en vez de ¿Como...?
Red Mx
Rojito
Colaborador
***
Desconectado Desconectado

Mensajes: 3.649


Viva México Cabrones...


Ver Perfil WWW
Re: Script php Backup MySQL
« Respuesta #8 en: 2 Noviembre 2009, 17:16 pm »

sitiene 777,lo de cron no se que es. pero los datos de login ya los e puesto.




Solo no funciona te lo aseguro.

En el sistema operativo Unix, cron es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o scripts a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab.

Cron se podría definir como el "equivalente" a Tareas Programadas de Windows.


Desde tu panel de control del hosting es muy sencillo

http://tu dominio:2082/frontend/x3/cron/index.html


http://www.google.com.mx/search?client=opera&rls=es-LA&q=Programar+Cron+Cpanel&sourceid=opera&ie=utf-8&oe=utf-8
« Última modificación: 2 Noviembre 2009, 17:19 pm por Red Mx » En línea

Desarrollar Malware Es Causa De Cancer...
PussyLover

Desconectado Desconectado

Mensajes: 11



Ver Perfil
Re: Script php Backup MySQL
« Respuesta #9 en: 23 Febrero 2012, 11:21 am »

Gracias, acabo de encontrar otro que esta bueno. = http://www.phpmybackuppro.net/opinion.php lo que no me gusta es que tengo que meter el mismo loguin que MySQL.

1 Salu2

Acabo de probar tu solución, ya que andaba buscando algo parecido y es genial.

Muchisimas gracias por tu aporte.  ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crear script con vbs para hacer backup de wordpress.com
Scripting
arkangelX 0 2,547 Último mensaje 18 Noviembre 2011, 19:48 pm
por arkangelX
Ayuda backup php mysql
PHP
aprendiz_web 3 3,673 Último mensaje 10 Diciembre 2013, 17:03 pm
por :ohk<any>
Ayuda. Script Backup
Scripting
jmrmcf 1 1,965 Último mensaje 8 Junio 2015, 10:52 am
por moikano→@
Duda Script Linux - Backup
Scripting
kurtiskiat 1 3,374 Último mensaje 1 Junio 2016, 09:32 am
por kurtiskiat
MYSQL Consulta SQL > datetime backup?
Seguridad
Kithai 4 3,100 Último mensaje 15 Noviembre 2016, 16:40 pm
por Kithai
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines