Estoy ejecutando un sitio web LAMP en Linux 10.0.4 LTS. Soy un administrador de sistemas novato (aunque soy desarrollador) y estoy buscando algunos consejos sobre la mejor manera de implementar la copia de seguridad de mi sitio web. Mi base de datos es mySQL y TODAS mis tablas de base de datos usan el motor de base de datos InnoDb.
Estos son los requisitos para la copia de seguridad que quiero implementar:
Incorpora copias de seguridad incrementales y completas de la base de datos mysql. Me gustaría tener copias de seguridad incrementales por hora, pero también copias de seguridad diarias, semanales y mensuales. Pero no tengo claro qué rotación usar para estos diversos conjuntos de datos de copia de seguridad, y también cómo administrarlos ( y, lo que es más importante, cómo restaurar la base de datos desde un conjunto de copias de seguridad completas / incrementales para una fecha)
Me gustaría comprimir y cifrar los datos, para poder almacenarlos de forma remota (Amazon S3)
Quiero tener esto completamente automatizado (es decir, ejecutarlo como un trabajo cron).
Nota: Mi servidor no tiene cabeza porque no tiene una ventana X u otra GUI instalada, así que estoy pensando en implementar la copia de seguridad en un script bash. Alternativamente, si hay un software que pueda ayudarme a ejecutar este tipo de copia de seguridad, entonces debe poder ejecutarse desde la línea de comandos.
Los elementos que necesito para hacer una copia de seguridad son:
- base de datos mysql
- archivos del sitio web (en una carpeta especificada. Idealmente, me gustaría omitir algunos archivos que se generan automáticamente)
- Archivos de configuración
- varios archivos de datos en diferentes carpetas
Aquí están mis preguntas:
¿Existe algún software existente que pueda usar para hacer esto o necesito escribir el mío (script bash)?
¿Cuál es la estrategia de copia de seguridad recomendada para usar (en términos de lo que se ejecuta cada hora, día, semana, etc.) y cómo restaurar el sitio web desde un momento determinado?
Si tengo que escribir mi propio script de bash (siendo un novato en scripts de bash también), estaré agradecido si alguien puede proporcionar un script de esqueleto para ayudarme a comenzar.
rdiff-backup
por qué en lugar dersync
cuál es, al menos para mí, la herramienta más utilizada?Soy un gran admirador de DAR.
http://dar.linux.free.fr/
Tiene sus pros y sus contras, muchos de los cuales se pueden leer con un poco de amor de Google. Requiere bastante procesador (pero la mayoría de las soluciones incrementales son buenas), por lo que debe tenerse en cuenta si el servidor está en un entorno compartido (hosting compartido o VPS).
En cuanto a la estrategia, DAR es bastante fácil de implementar en un bash / python a través de la configuración CRON. Hay algunos scripts de bash preconstruidos en el sitio DAR para revisar y personalizar según sea necesario.
Puede cargar la copia de seguridad DAR y diffs a S3 a través de muchas aplicaciones S3 preconstruidas.
Como siempre, pruebe algunas soluciones para determinar qué es lo mejor / mejor para sus necesidades.
fuente
Administro 4 sitios web muy pequeños con bases de datos que rara vez cambian. Mi estrategia de copia de seguridad es
mysqldump
4 bases de datos, luego comprimir todo (el propietario de los sitios web usa Windows, por lo que los alquitranes están fuera de discusión), y luego usar WGET en la máquina del propietario para descargarlos. Fácil, gratuito, y utiliza herramientas estándar de Linux que rara vez se rompen.fuente