Ver Mensaje Individual
  #25 (permalink)  
Antiguo 05/04/2016, 01:42
Avatar de mgusdl
mgusdl
 
Fecha de Ingreso: abril-2007
Ubicación: Malaga, España
Mensajes: 190
Antigüedad: 17 años, 6 meses
Puntos: 5
Respuesta: BackUp de MySQL con PHP y compresión ZIP

Cita:
Iniciado por aquilesnake Ver Mensaje
Hola !

Probando el codigo y desglozandolo, sin la opcion de borrado:

2016-04-05 13:04 Creando 'C:/wamp/www/demo/backup/MySQL_201604051304.zip.zip' ... OK. 2016-04-05 13:04 Volcando '1.sql' ... OK. 2016-04-05 13:04 Agregando '1.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '1.sql' ... OK. 2016-04-05 13:04 Agregando '1.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '1.sql' ... OK. 2016-04-05 13:04 Agregando '1.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '1.sql' ... OK. 2016-04-05 13:04 Agregando '1.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '2.sql' ... OK. 2016-04-05 13:04 Agregando '2.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '2.sql' ... OK. 2016-04-05 13:04 Agregando '2.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '2.sql' ... OK. 2016-04-05 13:04 Agregando '2.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '2.sql' ... OK. 2016-04-05 13:04 Agregando '2.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '3.sql' ... OK. 2016-04-05 13:04 Agregando '3.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '3.sql' ... OK. 2016-04-05 13:04 Agregando '3.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '3.sql' ... OK. 2016-04-05 13:04 Agregando '3.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '3.sql' ... OK. 2016-04-05 13:04 Agregando '3.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '4.sql' ... OK. 2016-04-05 13:04 Agregando '4.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '4.sql' ... OK. 2016-04-05 13:04 Agregando '4.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '4.sql' ... OK. 2016-04-05 13:04 Agregando '4.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 Volcando '4.sql' ... OK. 2016-04-05 13:04 Agregando '4.sql' a 'MySQL_201604051304.zip' ... OK. 2016-04-05 13:04 works its done.

el tema es que el archivo simplemente no esta pero lo esta generando el codigo es este :

Código PHP:
Ver original
  1. <?php
  2.  
  3. // set_time_limit(0);
  4. //header("Content-type: text/plain; charset=UTF-8");
  5. // echo date("Y-m-d H:i", time()) . " Create Backup MySql...\r\n";
  6.  
  7. // Datos de acceso a MySQL
  8. $myhost = "localhost";
  9. $myuser = 'xxx';
  10. $mypass = 'xxx';
  11. $dbName  = "xxx";
  12. $DB = mysqli_connect($myhost, $myuser,$mypass,$dbName) or die(date("Y-m-d H:i", time()) . " ERROR!! No se pudo conectar a MySQL.\r\n");
  13.  
  14. // Otros parámetros
  15. $OUTDIR = "C:/wamp/www/demo/backup/"; // Cambiar segun necesidades y tipo servidor - Probe con C: y con los c:\\ y tampoco funciono.
  16.  
  17. $now = date("YmdHi", time());
  18. $outfile = "MySQL_$now.zip";
  19. $periodo = time() - 259200; // Los archivos anteriores a este periodo (3 dias = 259200 segundos) serán borrados
  20.  
  21. // Crear nuevo archivo ZIP
  22. # Más información sobre la clase PHP
  23. # http://es.php.net/manual/en/class.ziparchive.php
  24. echo date("Y-m-d H:i", time()) . " Creando '$OUTDIR$outfile.zip' ... ";
  25. $zip = new ZipArchive;
  26. if (!$zip->open("$OUTDIR$outfile", ZIPARCHIVE::CREATE)) die("ERROR!!\r\n");
  27. echo "OK.\r\n";
  28.  
  29. // Tomar un listado de bases de datos
  30.  
  31. $q = mysqli_query($DB,"SELECT * FROM checkper,employee");
  32.  
  33. // Crear programacion para respaldar 3 tablas por separado al mismo tiempo en un zip.
  34.  
  35. // Volcar todas las bases
  36. while ($database = mysqli_fetch_row($q))
  37.     if ($database[0] != "information_schema" && $database[0] != "mysql")
  38.         {
  39.         // Nombrar archivo
  40.         $filename = "{$database[0]}.sql";
  41.         $tempfile = date("YmdHis", time()) . ".~swap";
  42.  
  43.         echo date("Y-m-d H:i", time()) . " Volcando '$filename' ... ";
  44.  
  45.         // Volcar datos
  46.  
  47.         system("mysqldump -h $myhost -u $myuser -p$mypass --opt {$database[0]} -r $OUTDIR$tempfile");  
  48.  
  49.  
  50.         echo "OK.\r\n"
  51.         . date("Y-m-d H:i", time()) . " Agregando '$filename' a '$outfile' ... ";
  52.  
  53.         //  Agregar archivo al ZIP
  54.         $zip->addFile($OUTDIR.$tempfile, $filename);
  55.  
  56.         // Recordar los temporales utilizados
  57.         $DUMPFILES[] = $OUTDIR.$tempfile;
  58.  
  59.         echo "OK.\r\n";
  60.         }
  61.  
  62. // Desconectar de la base de datos
  63.  
  64. // Cerrar archivo ZIP
  65. $zip->close();
  66.  
  67. // Eliminar temporales. Importante hacerlo DESPUÉS de cerrar el ZIP
  68. // foreach($DUMPFILES as $file)
  69. //     unlink($file);
  70.  
  71. // Elminar archivos antiguos
  72. // echo date("Y-m-d H:i", time()) . " Delete backup before 3 days....\r\n";
  73. // $D = opendir($OUTDIR);
  74. // while ($F = readdir($D))
  75. //     if ($F != "." && $F != "..")
  76. //         if (filectime($OUTDIR.$F) < $periodo)
  77. //             if (!unlink($OUTDIR.$F))
  78.                 // echo date("Y-m-d H:i", time()) . " Can delete the files $F.\r\n";        
  79. // closedir($D);
  80.  
  81. echo date("Y-m-d H:i", time()) . " works its done.\r\n";
  82. ?>

La direccion podria estar mal ??? no entiendo :S ! quedo atento :D !
Buenas, yo lo que veo incorrecto es la consulta a la base de datos, has cambiado "SHOW DATABASES" por "SELECT * FROM checkper,employee". Como comprenderás no tiene nada que ver una consulta con la otra.
Si sólo quieres guardar 2 tablas de una base de datos tendrias que alterar el script más.
__________________
$ DEITY = NULL