En el anterior Artículo, os enseñé a realizar vuestra copia de seguridad con Akebba Backup, y ahora os voy a hacer un tutorial, en el que no tendréis que entrar al panel de administración de vuestro site, y darle manualmente ha respaldar el sitio!.
Con este proceso marcaremos una hora en concreto y con la ayuda del cron (automatización de tareas) lo haremos automáticamente.
Este proceso se basa en que tengamos nuestra web alojada en un servidor Linux, cron instalado, php y curl.
Existen otros métodos, pero este me ha funcionado francamente bien.
Vamos a crear un archivo llamado backup.php que contenga lo siguiente:
<?php
define(‘SITEURL’, ‘http://www.url.com’); // Base URL of your site
define(‘SECRETKEY’, ‘abcdefcgh’); // Your secret key
define(‘PROFILE’,1); // The profile’s ID
// ====================== DO NOT MODIFY BELOW THIS LINE ======================
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,
SITEURL.’/index2.php?option=com_akeeba&view=backup&key=’.
SECRETKEY.’&format=raw&profile=’.PROFILE.’&format=raw’);
curl_setopt($curl_handle,CURLOPT_FOLLOWLOCATION,TRUE);
curl_setopt($curl_handle,CURLOPT_MAXREDIRS,10000); # Fix by Nicholas
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (empty($buffer))
echo “Sorry, the backup didn’t work.”;
else
echo $buffer;
?>
En este fichero, solo tenemos que modificar los primeros 3 campos:
SiteURL : ponemos la url de la web . Si usamos un servidor externo, ponemos la url externa y si es interno, pues con poner http://localhost/url valdría.
SecretKey : esta clave la marcamos nosotros de la siguiente manera :
Vamos a Componentes -> akebba Backup.
Ahora vamos a Preferencias, y buscamos : Activar respaldo remoto y desde la parte pública : marcamos SI.
y justo abajo vemos palabra secreta : ponemos la contraseña que queramos.
ProfileID : Si usamos solo un perfil, dejamos 1 . De no ser así, marcamos el número que deseemos usar.
Una vez hecho esto, guardamos ese fichero en una carpeta interna de nuestra web, a poder ser que esté en un directorio restringido a los usuarios externos.
una vez hecho esto, lo que tenemos que hacer es editar el crontab.
vi /etc/crontab
#minutos horas dias meses años quien comando
0 1 * * * root /usr/bin/php /volume1/web/ejemploweb/administrator/components/com_akeeba/backup.php –profile 1
la ruta (/volume1/web/ejemploweb/administrator/components/com_akeeba/backup.php) tenéis que cambiarla por donde la dirección donde esté el fichero backup.php
Con esto le decimos al cron, que todos los días a la 1 de la mañana, nos ejecute el proceso.
Cuando acaba la copia, si tenemos configurado el envío de mail, nos mandará un correo informando del proceso de copia.
NOTA: Para todos aquellos que alojen sus webs en servidores Synology, también les sirve esta configuración 😉