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 -e3.- 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!