Comunidad de diseño web y desarrollo en internet online

Cron Jobs ....

Citar            
MensajeEscrito el 10 Sep 2005 10:28 pm
Hola, hace poko, y debido a una serie de "coincidencias" perdi toda mi web. Todo fue debido a que -segun se cree- el datacenter esta perdiendo dinero y por algun extraño motivo cerro el servidor donde estaba mi pagina, los lumbreras de mi servicio de hosting tenian el backup del servidor... EN EL SERVIDOR ¬_¬ ¬_¬ por favor, que despues no se diga que no son prevenidos... (estupidos bastardos)

Ahora y como medida preventiva me gustaria hacer un backup de mis archivos mas a menudo, el problema es que seguramente me olvide de hacerlo asi que pense en los cronjobs... No se si existira el comando Backup2Email jajajaja pero mi idea era la de poder ejecutar un php cada XX tiempo -que no se si se puede...- , el php lo que haria seria enviarme un email con un "EXPORT" de las tablas de la DB asi que serian dos puntos :

1.- como ejecutar un PHP
2.- que codigo SQL he de tener para que haga un volcado de la DB?
3.- en ultimo caso el php formatearia los datos de la DB para que salieran con su INSERT, aunque esto se hiciera "a mano"

Alguien me ayuda??

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 10 Sep 2005 11:00 pm
1.- Yo prefiero evitar Cargar a mi server, con un PHP ejecutado, de siempre(Para que se active cada X tiempo, tendrías que hacerlo así y como CGI). Pero lo que puedes hacer es tener una función, en tu página principal, que verifique si es tiempo de hacer un backUP.

Por ejemplo, tienes tu página "principal.php", a esta le agregas algo así:

Código :

<?
include("funcionDeBackUP.php");
realizaBackUp();
//Demas código normal
?>


En "funcionDeBackUP.php", tienes algo como:

Código :

<?
UltimoBackup="2005-05-05"; //Este dato lo puedes leer de tu misma DB, o de un archivo de texto, como tu quieras
if( esMasDeUnaSemana(UltimoBackup) ){
  realizaUnBackupYMandaloAmiMail(); 
}else{
  //no hagas nada
}
?>

Así cada que alguien visite tu página(yo soy uno de ellos), te hará el favor, de revisar si necesitas BackUp, pero sin que se de cuenta.


Si consideras que tu DB es grande, y no quisieras incluir tu función de backup, en tu página principal, puedes crear una página propia unicamente para los backups, del tipo:

BackUps.php

Código :

<?
include("funcionDeBackUP.php");
realizaBackUp();
?>


Así, lo unico que tendrias que hacer es ingresar cada que puedas a "BackUps.php" y automáticamente se generará el mismo

Si aún así tu realmente quieres usar CronJobs, tal vez este tutorial te ayude:
http://www.phpfreaks.com/tutorials/28/0.php


2.- Yo uso mysqldump -e

3.- Si usas mysqldump, el archivo que te genera, es un SQL, por lo que en efecto, ya tendrás los INSERT INTO

Espero te ayude un poco, y suerte! ^^

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 11 Sep 2005 08:31 am
ok mil gracias, ahora ando revisando la informacion... gracias!!

lo que no entiendo muy bien es como ejecutar "mysql_dump -e" en el php...

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 11 Sep 2005 06:02 pm
Revisa los comandos que te permiten ejecutar programas.


Mira ahorita elabore esta clase, según me acuerdo, tal vez la puedas detallar mas(validadores y demás), pero creeme que así funciona, en el trabajo tengo una mas completa, pero bueno creo que con esta te sirve:


Código :

<?php
class mysqldump
{
    var $Comando = '';

    function mysqldump($Usuario, $pass, $nombreBD, $Ruta)
    {
        $this->Comando = "mysqldump -q -u $Usuario -p$pass $nombreBD -r $Ruta$nombreBD.sql";
    }
    function realizaBackUp()
    {
        exec($this->Comando);
      //Listo
    }
}
$TuBase = new mysqldump('danonino_dano', 'tuPass', 'danonino_blogFlash', './');
$TuBase->realizaBackUp();
?> 



Solo checa que tu USUARIO, PASS, Y DB esten bien, si es así, en la carpeta donde ejecutes el php, te generará un archivo con el nombre igual al de tu DB y la extensión .sql
(Este lo he probado tanto en mis maquinas Locales(WindowsXP y Mandriva), como en Dos Hostings Compartidos Linux)

^^

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.