->
Si usas un servidor compartido y tienes problemas al crear archivos comprimidos o al descargar archivos de tu servidor para tener una copia de seguridad regular de base de datos aquí tienes una solución muy sencilla.
Archivos
El método utilizado es para servidores en UNIX, luego de no ser tu servidor de UNIX no te valdrá demasiado todo esto.
El método consiste en logearte mediante ssh (secure shell) si usas Unix o telnet si usas Windows y después, mediante un script muy sencillo crear la copia de seguridad y luego bajártela a tu ordenador.
Si usas Linux, puedes usar ssh, para ello abre una terminal y teclea, cambiando tudominio.com al nombre de tu dominio (omitir http:// )
ssh tudominio.com
Te pedirá ahora clave, las metes y listo.
Los pasos siguientes dependen de cómo tengas los directorios, así que no copies y peguéis, sin razonar antes. En mi caso, tengo varios carpetas: magarto.com, magarto.org, Maildir, svn, … como sólo me interesa hacer una copia de seguridad de magarto.com crearía una carpeta llamada backup dentro de magarto.com
cd magarto.com mkdir backup cd backup
A continuación crearíamos el script.
nano hacer_backup
Y copiamos y pegamos el siguiente archivo, leyendo antes lo que pongo:
#! /bin/bash tar cvpjf backup_`date +%Y-%m-%d`.tar.bz2 --exclude=../foros --exclude=../backup --exclude=../.n* drive_c ../
Como veís, pongo –exclude=directorio cada vez que quiero omitir un directorio. Por defecto, los directorios backup (bucle infinito) y .n* (archivo temporal del tar) deben ser excluidos.
Cerramos el archivo (Ctrl + O) y ahora le damos permisos de ejecución al archivo
chmod +x hacer_backup
Para hacer la backup, debemos de ejecutar el script de la siguiente forma:
./hacer_backup
Si véis que se tira un rato en un archivo o carpeta sin continuar, parar el proceso con Ctrl + C y modificar el script, para excluir dicha carpeta o archivo.
Recuerdo, que esto crea una backup en formato tar.bz2 luego consume bastante CPU, así que tener cuidado para que no os echen del hosting
Base de datos
Lo mejor es hacerla backup mediante Phpmyadmin tanto de la base de datos entera, como de las tablas dentro de la base de dato; recomiendo ambos.
Otra forma es mediante ssh o telnet. Accedemos al servidor y después ejecutamos los siguiente parámetros:
mysql -u -p -h uri_de_tu_base_de_datos basededatos > basededatos.sql
donde uri_de_tu_base_de_datos es la dirección hacia tu base de datos (como mysql.tudominio.com o tudominio.com/phpmyadmin ) y basededatos es el nombre de la base de datos que quieres guardar.
Para restaurar una base de datos sería igual pero cambiando > (sigo de mayor) por < (signo de menor)
Como conclusión, quiero deciros que podéis meter dentro del script los comandos para crear la copia de seguridad de la bases de datos y también intentar hacer uso de copias de seguridad programadas mediante el sistema cron o el sincronizador rsyn
Actualización: Este artículo ha generado polémica, si queréis ver por qué, echar un vistazo a los comentarios de Fresqui.
Deja tu granito de arena