Hola,
Revisando este post con mas de 6 meses y para no reabrir, pido la siguiente ayuda.
Actualmente tengo problemas con los Backup porque se me están generando todos los dias y duplicando el peso de los respaldo.
Actualmente uso el siguiente codigo :
Código PHP:
Ver original<?php
/*
cPanel Backup Script
Generated by https://www.ericzhang.me/projects/cpanel-auto-backup/
*/
$domain = "dominio";
$theme = "paper_lantern";
$secure = true;
$ftp = true;
$ftpserver = "ftp.xxxx.com";
$ftpusername = "user";
$ftppassword = "user";
$ftpport = "21";
$ftpdirectory = "/backup_webapp";
if ($secure) {
$url = "ssl://" . $domain;
$port = 2083;
} else {
$url = $domain;
$port = 2082;
}
if (!$socket) {
exit("Failed to open socket connection."); }
if ($ftp) {
$params = "dest=ftp&server=$ftpserver&user=$ftpusername&pass=$ftppassword&port=$ftpport&rdir=$ftpdirectory&submit=Generate Backup";
} else {
$params = "submit=Generate Backup";
}
fputs($socket, "POST /frontend/" . $theme . "/backup/dofullbackup.html?" . $params . " HTTP/1.0\r\n"); fputs($socket, "Host: $domain\r\n"); fputs($socket, "Authorization: Basic $auth\r\n"); fputs($socket, "Connection: Close\r\n");
$response = fgets($socket, 4096); echo $response;
}
?>
Con este no tengo problemas pero los antiguos se esta tornando muy pesado al sistema por lo que tengo que borrarlo manualmente.
Encontre el siguiente codigo:
http://www.forosdelweb.com/f18/backup-mysql-con-php-compresion-zip-774288/
y estoy tratando de ocuparlo :
Código PHP:
Ver original<?php
header("Content-type: text/plain; charset=UTF-8"); echo date("Y-m-d H:i", time()) . " Create Backup MySql...\r\n";
// Datos de acceso a MySQL
$myhost = "host";
$myuser = 'user';
$mypass = 'pass'; // mi pass esta con una !
$DB = mysql_connect($myhost, $myuser, $mypass) or
die(date("Y-m-d H:i", time()) . " ERROR!! No se pudo conectar a MySQL.\r\n");
// Otros parámetros
$OUTDIR = "../backup_webapp/"; // Cambiar segun necesidades y tipo servidor
$outfile = "MySQL_$now.zip";
$periodo = time() - 259200; // Los archivos anteriores a este periodo (3 dias = 259200 segundos) serán borrados
// Crear nuevo archivo ZIP
# Más información sobre la clase PHP
# http://es.php.net/manual/en/class.ziparchive.php
echo date("Y-m-d H:i", time()) . " Creando '$OUTDIR$outfile.zip' ... "; $zip = new ZipArchive;
if (!$zip->open("$OUTDIR$outfile", ZIPARCHIVE
::CREATE)) die("ERROR!!\r\n"); echo "OK.\r\n";
// Tomar un listado de bases de datos
// Volcar todas las bases
if ($database[0] != "information_schema" && $database[0] != "mysql")
{
// Nombrar archivo
$filename = "{$database[0]}.sql";
$tempfile = date("YmdHis", time()) . ".~swap";
echo date("Y-m-d H:i", time()) . " Volcando '$filename' ... ";
// Volcar datos
system("mysqldump -h $myhost -u $myuser -p$mypass --opt {$database[0]} -r $OUTDIR$tempfile");
echo "OK.\r\n"
. date("Y-m-d H:i", time()) . " Agregando '$filename' a '$outfile' ... ";
// Agregar archivo al ZIP
$zip->addFile($OUTDIR.$tempfile, $filename);
// Recordar los temporales utilizados
$DUMPFILES[] = $OUTDIR.$tempfile;
echo "OK.\r\n";
}
// Desconectar de la base de datos
// Cerrar archivo ZIP
$zip->close();
// Eliminar temporales. Importante hacerlo DESPUÉS de cerrar el ZIP
foreach($DUMPFILES as $file)
// Elminar archivos antiguos
echo date("Y-m-d H:i", time()) . " Delete backup before 3 days....\r\n"; if ($F != "." && $F != "..")
echo date("Y-m-d H:i", time()) . " Can delete the files $F.\r\n";
echo date("Y-m-d H:i", time()) . " works its done.\r\n"; ?>
El siguiente codigo me da errores, al revisarlo podria ser por los Mysql deprecate.
Quedo atento a sus comentarios y gracias!