He actualizado el asistente para realizar backups de las bases de datos de webcindario (ahora se puede hacer un backup completo), las características principales, son:
- tiene las limitaciones de todos los scripts por la configuración de PHP de Mi@ (10 segundos y 32MB de RAM).
- intentará generar un backup de su base de datos.
- generará archivos comprimidos ('gz'); de no ser posible serán 'sql' (sin comprimir).
El funcionamiento es el siguiente
1- Validar datos: debe ingresar los datos en el formulario, (no olvidarse del captcha) y pulse el botón 'Ejecutar'.
1.a- datos incorrectos o incompletos: devolverá un comentario indicando la situación.
1.b- datos correctos:
1.b.1- si no puede iniciar el backup, avisa para que refresque la pantalla cada cierto tiempo.
1.b.2- si el proceso está disponible, regresará un link para iniciar el backup (púlselo).
Notas
- el script calculará el tamaño del lote de registros de cada backup (en base al tamaño de registro).
- esto implica que tablas con muchos registros pueden quedar repartidas en varios archivos.
- el nombre de archivo tiene este fmato: [tabla]-[registro inicial]-[registro final].sql
-> [tabla] es el nombre de la tabla.
-> [registro inicial] es el número de registro inicial en formato 6 dígitos (rellenado con 0 a la izquierda).
-> [registro final] es el número de registro final.
- el proceso se debe activar manualmente tantas veces como sea necesario hasta finalizar (única forma de sortear la limitación de los 10 segundos).
2- Backup: el script regresará una o varias veces (las necesarias hasta finalizar).
2.a- backup incompleto: regresará un link para continuar (púlselo), y otro para abortar el proceso.
2.b- backup finalizado:
2.b.1- se mostrará una lista de los archivos con sus links para descarga.
2.b.2- se inicia un período de 20' (min) de espera para que el usuario pueda realizar las descargas.
Concurrencia de usuarios
El primero que logra validar los datos 'captura' la atención del script.
Durante el proceso de backup:
- el usuario que lo activó podrá ver los links de avance y de descarga.
- los otros usuarios verán:
-- un mensaje indicando que hay un proceso de backup activo; y
-- una vez iniciada la descarga, la cuenta regresiva para la próxima disponibilidad.
Notas
- he hecho pruebas, el localhost (varias bases de datos de distinto tamaño) y en la del espacio web y -al momento- no he observado mal funcionamiento.
- he observado que los archivos comprimidos (para descarga) rondan los 75-80 KBytes, y el SQL descomprimido los 550/600 KBytes.
- una vez finalizado el backup el script espera por un lapso de 20' (redundancia, es decir: el script no borrará los archivos durante ese lapso) para que se pueda efectuar la descarga.
- finalizado el tiempo de espera, cualquier activación del script (bot o usuario que acceda) provocará que se borren todos los archivos.
Urls
Backups: https://gestionxls.webcindario.com/bckp.php
SQL (tambien tuvo retoques): https://gestionxls.webcindario.com/sql.php
__________
PD1: no hallo el tema original (creo del 2009).
PD2: no he incluido el chat ni los contadores.