Cómo hacer una copia de seguridad y restaurar su sitio web

Publicado: 2018-05-07

Mientras crea el sitio web de su empresa, lo primero que generalmente le preocupa es ponerlo en funcionamiento; Se necesita mucho trabajo, lo principal es que todo funcione.

Entonces, está funcionando sin problemas y, de repente, algo sucede. Se fue. Faltan tus archivos.

Si ha creado su sitio web en un servidor local, es posible que sienta que ya tiene una copia de seguridad. Tienes todo en dos lugares, ¿verdad? Los archivos existen en el servidor y en su computadora.

¿Qué puede salir mal?

No hace falta mucha imaginación para pensar en lo que podría pasar. Su computadora se apaga por alguna razón, ya sea por una subida de tensión inesperada o porque su hijo de 3 años decide que es divertido verter leche en su computadora portátil. Pero bueno, lo tienes almacenado en el servidor, así que ¿por qué deberías preocuparte, verdad?

No tan rapido….

¿Qué pasa si el servidor tiene un problema, o si ese proveedor de alojamiento súper barato y aparentemente confiable fracasa sin previo aviso? ¿Qué pasa con el hecho de que su sitio web ejecuta una base de datos? ¿Tiene una copia exacta de cada archivo en su computadora?

¡Aquí es donde hacer una copia de seguridad de un sitio web se vuelve importante!

En este artículo, cubriré todo lo que necesita saber sobre cómo hacer una copia de seguridad de su sitio web, incluido el por qué, el qué y el cómo.

¿Por qué hacer una copia de seguridad de su sitio web?

Hay una variedad de razones por las que deberías hacer una copia de seguridad de tu sitio web.

1. Malware/ransomware

Sin entrar en demasiados detalles, no existe un sistema completamente seguro. No importa cuántos procedimientos y protocolos de seguridad implemente, todos los sistemas son vulnerables.

Si bien existen grados de seguridad, algunos sistemas son más vulnerables que otros. Es prácticamente imposible evitar que su sitio web sufra todo tipo de ataques, y más aún si realmente espera que la gente utilice su sitio.

Piense en esto como si fuera su casa; Podrías sellarlo como Fort Knox, pero entonces nadie podría entrar, así que tienes que tener puertas. Seguro que tus puertas tienen buenas cerraduras, pero siempre alguien podría entrar por una ventana.

El punto más débil de cualquier sistema son los humanos. Todo lo que se necesita es un clic incorrecto o responder a lo que parecía un correo electrónico importante para sucumbir a un ataque de phishing. Una vez que alguien esté en su sistema, a través de software o de otro modo, es posible que pueda tomar el control de sus archivos para pedir un rescate.

En lugar de tener que desembolsar dinero a algún desconocido que puede o no devolver su sitio o sus archivos, usted es mucho menos vulnerable si tiene una copia.

2. Archivos eliminados/Comandos incorrectos/Errores humanos

Algo tan simple como eliminar el archivo incorrecto en su servidor, ya sea con un simple “hacer clic/eliminar” en Windows/Mac, o una línea de comandos en Linux o sus derivados podría borrar un archivo clave o, de hecho, todos los archivos.

(En Linux, el comando rm -r diretoryname elimina un directorio y todos los archivos que contiene, a menudo sin confirmación; peor aún, rm -rf / puede eliminar incluso archivos de solo lectura y todo lo que se encuentre en la raíz, lo que esencialmente eliminará su toda la máquina!).

3. Trucos

El comportamiento malicioso es más común de lo que nos gustaría. A veces ni siquiera es tan simple como un hack de tipo malware o ransomware; Hay muchos que piratean sitios web como deporte. Incluso si el contenido de su sitio web es algo que no cree que sea de gran valor para un hacker, esto aún puede ocurrir.

Esto es particularmente un riesgo para quienes usan plataformas populares como WordPress, que tienen muchas debilidades bien documentadas que, si no se reparan, te dejan con un gran objetivo en la espalda.

4. Mal desarrollador/empleado/quien sea

Muchas empresas dependen en gran medida de terceros para diseñar nuestros sitios. En la mayoría de los casos, los desarrolladores web son tan honestos como el resto de nosotros. La mayoría (como <smile>un servidor </smile>) son personas geniales y honestas (¡y modestas!).

Sin embargo, ¿quizás te encuentres en una disputa de pago? Las personas que son personas varían ampliamente en lo que respecta a lo que consideran comportamiento ético. Es muy fácil para un empleado enojado (o nefasto) que tiene acceso al back-end de su sitio web simplemente cerrar el sitio si no está contento, o por cualquier motivo.

Esto es algo en lo que no nos gusta pensar, pero generalmente es una buena idea estar seguros.

5. El servidor falla

La tecnología es genial cuando funciona. En la mayoría de los casos, especialmente si utiliza una empresa de alojamiento sólida y de buena reputación, las fallas del servidor que eliminan sus datos son algo poco común.

Pero incluso los mejores proveedores tienen problemas.

Además, en muchos casos hoy en día, lo más probable es que su sitio esté alojado en un servidor virtual . En otras palabras, sus datos no están en una computadora física independiente, sino que se comparten con muchas otras personas o empresas. Es muy común que los proveedores de alojamiento alojen muchas instancias "virtuales" diferentes en un servidor físico.

Para la mayoría de las empresas de alojamiento web económico, esto es lo más común y, a menos que esté dispuesto a desembolsar mucho dinero para obtener su propio servidor físico, es muy probable que comparta espacio. Si algo sale mal en otro segmento, podría afectar su sitio y sus archivos.

Además, incluso si ha alojado su sitio en un servidor físico, básicamente sigue siendo solo una computadora. Si bien los servidores tienden a almacenarse en lugares seguros, como su propia computadora, siempre existe la posibilidad de que algo salga mal.

Los servidores pueden sobrecalentarse, podría haber un desastre natural inesperado, una fluctuación de energía exactamente en el momento equivocado o incluso un defecto oculto del fabricante que podría causar la pérdida de sus datos.

Además de esto, las granjas de servidores pueden ser objetivo de ataques coordinados de denegación de servicio dedicado (DDOS) que, en casos extremos, pueden requerir un reinicio completo; Esto siempre conlleva el riesgo potencial de que se pierdan algunos o todos los datos.

Por estas razones, generalmente es una buena idea guardar una copia de todos los datos cruciales en otro lugar, de modo que, si alguno de estos es posible, no importa cuán improbable (que varía de un caso a otro) sea que ocurra.

¿Qué deberías respaldar en tu sitio web?

Los tipos de cosas de las que quizás quieras hacer una copia de seguridad se pueden dividir en las siguientes categorías:

1. Archivos

Estos son todos los archivos que componen su sitio web. Incluyen todas las páginas/scripts/archivos CSS e imágenes o documentos, o cualquier contenido multimedia que sea la parte principal de su sitio web.

Puedes pensar que estos son contenidos que no cambian; permanecen como objetos estáticos. Como resultado, suelen ser las partes de su sitio más fáciles de administrar y realizar copias de seguridad.

2. Base de datos

Como es probable, la mayoría de los sitios web utilizan bases de datos para almacenar productos, páginas individuales u otros elementos que probablemente sean variaciones de contenido duplicado.

Si su base de datos es algo estática (es decir, la mayoría de los elementos de su sitio rara vez cambian), es relativamente sencillo mantener una copia de seguridad, al igual que los archivos.

Sin embargo, si, como en la mayoría de los casos, este contenido es fluido, como publicaciones de blog, productos, transacciones o cualquier otra cosa que cambie o se agregue de manera regular, necesitará encontrar una manera de realizar copias de seguridad de estos datos periódicamente.

3. Cuentas de correo electrónico

Si está almacenando un registro de los correos electrónicos o la información de contacto de los usuarios. También es probable que tengas un servidor de correo electrónico completo y registros de todas tus transacciones de correo electrónico a través de tu servidor. Probablemente desee mantener todos los registros de sus interacciones, correos electrónicos y listas de correo utilizando esta cuenta.

NOTA RÁPIDA: Si está almacenando información de contacto en una base de datos que no sea su servidor de correo, ¡también necesitará hacer una copia de seguridad!

Cómo hacer una copia de seguridad de su sitio web

Hacer una copia de seguridad de su sitio no es particularmente difícil, pero para comenzar, debe comprender que existen varios métodos. Varían según la calidad, la confiabilidad y la facilidad (según su nivel de habilidad). Generalmente es una buena idea utilizar más de uno.

1. A través de su proveedor de alojamiento web

Cualquier buen proveedor de alojamiento web debería crear una copia de seguridad automática de todos los archivos del servidor web. El proveedor de alojamiento web debe hacer esto internamente y normalmente realizará copias de seguridad diarias independientemente de lo que usted haga.

Por lo tanto, debería poder recurrir a la copia de seguridad de su proveedor de alojamiento web si sucediera algo.

Sin embargo, los servidores web normalmente no guardan varias versiones de copia de seguridad y usted está a su merced. Tendrán algún tipo de herramienta para que puedas crear manualmente tus propias copias de seguridad.

Por ejemplo, puede crear fácilmente una copia de seguridad completa de su sitio web a través de cPanel, un panel de control común utilizado por la mayoría de los servidores web.

Copias de seguridad manuales de sitios web a través de cPanel

Para utilizar las herramientas de respaldo de su servidor, deberá preguntarle a su proveedor y leer los manuales que le hayan proporcionado. Normalmente, sus archivos se almacenarán como un archivo comprimido y se almacenarán en su servidor.

Es posible que deba especificar qué tipo de formato desea, según su plataforma. También proporcionarán instrucciones sobre cómo restaurar una copia de seguridad si es necesario.

copia de seguridad de archivos del servidor web Si su proveedor de alojamiento web proporciona esta copia de seguridad en el servidor, asegúrese de que esté almacenada en un servidor diferente al de su sitio web. ¡Los servidores pueden fallar!

Las ventajas de utilizar los servicios de su proveedor son bastante obvias; Por lo general, es perfecto con su anfitrión.

Sin embargo, los inconvenientes tienen que ver específicamente con su proveedor de hosting. Si bien pueden ser excelentes para alojar su sitio, nunca es aconsejable mantener todos los huevos en una sola canasta.

Si algo sale mal, como un incendio en su granja de servidores, o sufren algún tipo de ataque por parte de piratas informáticos (sí, esto ocurre en ocasiones; nadie es inmune y los proveedores de alojamiento son los objetivos principales).

Por estas razones y más, es una muy buena idea descargar ocasionalmente una copia de los archivos a su computadora. También es probable que desee conservar al menos manualmente una copia de su sitio.

2. Complementos de copia de seguridad del sitio web de CMS

Si utiliza un CMS popular, como WordPress, hay muchos complementos que puede instalar, como Backup Buddy. Son muy convenientes y suelen ser muy fáciles de instalar.

Sin embargo, los complementos de respaldo generalmente pueden tener el efecto negativo de ralentizar su sitio. Como PHP es el lenguaje de programación nativo de WordPress, la mayoría de los complementos también usan PHP.

Si bien esto puede ser efectivo, puede tender a ejecutarse lentamente, lo que significa que podrían ralentizar su sitio en el proceso de ejecución (por lo general, se ejecutarán en el mismo motor que produce su sitio), y también agrega desorden a su sitio. y también es una abstracción de nivel superior al ideal.

Otro factor es que, irónicamente, puedes estar haciendo que tu sitio sea más vulnerable. El propio PHP tiene algunos problemas de seguridad conocidos, especialmente si el código que se utiliza está desactualizado o mal escrito.

A menos que esté absolutamente seguro del código que se incluye en estos complementos (y en serio, ¿quién tiene tiempo para estudiar minuciosamente el código fuente de otra persona?), el complemento que está utilizando para mantener sus datos seguros puede hacerlos menos seguros. (Sí, muchos tienen buena reputación y proporcionan código de calidad. No entraría en pánico, pero esto es algo a tener en cuenta).

Si bien PHP es un excelente lenguaje de codificación (está entre mis favoritos y lo uso a diario), es una buena idea mantener la mayor cantidad de funciones ejecutándose fuera de esta plataforma. Normalmente, si desea ejecutar copias de seguridad a nivel del sistema operativo.

Si está ejecutando Linux o cualquiera de sus derivados, probablemente desee ejecutar un script de shell, un archivo por lotes en Windows o un archivo macos en una Mac.

3. Copias de seguridad manuales de sitios web

Es posible que muchos de nosotros estemos familiarizados con la forma “de la vieja escuela” de realizar copias de seguridad de archivos: hacer una copia de todos los archivos y colocarlos en un disco duro extraíble o almacenarlos en la nube.

Este es esencialmente el mismo método que usarías con tu sitio web, con algunas salvedades.

Por supuesto, si crea su sitio web localmente y luego lo transfiere vía FTP (o, con suerte, SFTP) a su servidor, técnicamente ya tiene una copia de su sitio.

Sin embargo, hay una diferencia clave...

Si tiene una base de datos en su sitio, es muy probable que tenga contenido diferente localmente (en su base de datos de prueba) que en el sitio activo. Esto es especialmente cierto si está utilizando algún tipo de software CMS (WordPress y similares).

Si este es el caso, casi todo el contenido de su sitio se almacena en una base de datos y no se encuentra en ningún archivo, fuera de la propia base de datos.

Hacer una copia de seguridad de la base de datos es relativamente fácil, especialmente si usa MySQL. Simplemente necesita obtener un volcado SQL de la base de datos; que es solo un archivo de texto sin formato que contiene todo el contenido de su base de datos.

Una vez creado, simplemente se puede cargar o ejecutar como un archivo para reconstruir la base de datos.

Método de línea de comando

Esto es relativamente sencillo. El siguiente comando hará una copia de seguridad de una base de datos completa.

$ mysqldump -u [uname] -p[pass] db_name > db_backup.sql

Si desea obtener más detalles sobre cómo ejecutarlos y las distintas opciones, consulte la documentación de MySQL.

Método PhpMyAdmin

Vaya a la pestaña de exportación de la base de datos, elija todas las opciones que necesite (por lo general, es probable que desee incluir "tablas desplegables" y crear opciones de base de datos para que sea posible cargar una nueva copia sobre una versión anterior, pero tenga cuidado... realmente borrar los datos existentes para reemplazarlos con una nueva copia).

Luego puedes tomar todos los archivos que se crean (el código fuente, la base de datos y las imágenes) y comprimirlos y guardar copias donde quieras (a mí personalmente me gusta usar almacenamiento en la nube como Google Drive o Dropbox).

El inconveniente obvio es que debes acordarte de hacer esto y es muy fácil de olvidar. Entonces, si desea ir un paso más allá, puede escribir scripts que hagan todo esto y usar el sistema para ejecutarlos periódicamente.

En Linux es relativamente fácil ejecutar el volcado de SQL a través de la línea de comandos y luego ejecutar este script como un cronjob, para ejecutarlo una vez al día, a la semana o en el período de tiempo que desee.

En Windows, puede utilizar un lote y el programador de tareas integrado. Mi forma típica de hacer esto es ejecutar un lote con un volcado de SQL y luego una copia masiva de un directorio completo en mi cuenta de Dropbox.

NOTA RÁPIDA: Usted querrá limpiar periódicamente el directorio donde están almacenados; Si bien los archivos SQL, que son archivos de texto, tienden a ser pequeños, pueden acumularse con el tiempo, y si está ejecutando otras copias de seguridad de imágenes o archivos multimedia, puede encontrar que su unidad/servidor está a punto de estallar en poco tiempo.

4. Servicios de copia de seguridad del sitio web

Por supuesto, manejar todo esto manualmente puede resultar un poco abrumador; todavía requiere atención y algo tan simple como olvidarse de limpiar un directorio puede provocar que se eliminen archivos o que se agreguen tarifas repentinas a su cuenta (Dropbox permite algunos conciertos gratis, pero luego aumenta rápidamente desde allí).

Por este motivo, si tiene un sitio comercial, probablemente sea una buena idea utilizar un servicio de respaldo profesional. Por lo general, harán todo lo mencionado anteriormente, pero de una manera más confiable.

A diferencia de las copias de seguridad manuales, otra persona hará el trabajo por usted y se encargará de todos esos pequeños problemas que pueda tener. A diferencia de los complementos, se ejecutarán fuera de su sitio; no es necesario agregarlos. No deberían restar velocidad de procesamiento y no crearán ninguna vulnerabilidad de seguridad al hacerlo.

A continuación se muestra una muestra muy breve de algunos servicios de respaldo populares. ( Descargo de responsabilidad : esto no pretende ser ni remotamente una guía completa, solo lo suficiente para comprender lo que hay disponible. No he probado todos los servicios mencionados).

  • Copias de seguridad de Sucuri: una gran solución ya que recomendamos utilizar Sucuri para la seguridad de su sitio web.
  • CódigoGuardia
  • BackupGuard
  • Dejar mi sitio

Estrategia de copia de seguridad del sitio web: mejores prácticas

Independientemente del método que elija, la copia de seguridad de su sitio web debe tener un plan de flujo de trabajo.

Si bien todos los métodos mencionados anteriormente funcionarán, es absolutamente necesario contar con una estrategia, o cualquier sistema mencionado que tenga podría sufrir vulnerabilidades graves.

Haga una lista de verificación y determine las respuestas a las siguientes categorías:

1. ¿Con qué frecuencia realizar una copia de seguridad de su sitio web?

Esto es importante. ¿Quieres realizar copias de seguridad diarias o mensuales?

Podría considerar la idea de ejecutar uno cada vez que haya un cambio en su sitio (nuevo producto, nueva publicación de blog, etc.). Esto depende de usted, pero debe asegurarse de tener un plan en marcha.

2. Programación automatizada

Siguiendo lo anterior, establecer un horario es clave. Como punto de partida, probablemente desee establecer un cronograma para determinar cuándo se realizarán las copias de seguridad.

3. Utilice almacenamiento remoto

¿Dónde almacena estos datos? No querrás simplemente guardar copias en tu servidor, ni siquiera en tu computadora portátil. ¿Vas a utilizar un disco duro externo? ¿La nube? ¿Qué servicio en la nube?

4. Duración de la retención

¿Cuánto tiempo necesita conservar copias de cada copia de seguridad? ¿Serán necesarios los archivos de hace un año o simplemente están acumulando polvo y pueden ser reemplazados por copias de seguridad más recientes?

5. Cifrado

La seguridad de sus copias de seguridad es importante, especialmente si tiene información patentada (como información confidencial sobre precios de productos o, lo que es más importante, registros de clientes).

Tenga un plan para mantener las copias de seguridad cifradas y protegidas (cifrado de clave privada AES de 256 bits y seguridad de transporte TLS/SSL). Obtenga más información sobre el cifrado.

6. Almacenar copias de seguridad en matrices RAID

Los arreglos RAID (matrices redundantes de discos independientes) no solo son una buena idea para crear múltiples copias de su sitio web y/o datos, sino que también mejoran el rendimiento.

Proporcionarán protección adicional en caso de que uno de los discos falle. Esta es una característica típica que ofrecen los servicios de respaldo profesionales.

7. Restauración selectiva

Tenga implementado un procedimiento en caso de que no necesite restaurar cada parte de su sitio. Quizás la mayor parte esté bien, pero es posible que se hayan perdido algunas piezas.

Por ejemplo, si una tabla de productos está dañada, sólo necesita reemplazar esa pieza en su volcado de SQL. Suele ser una mejor idea que borrar todo para reemplazar un archivo.

De hecho, es un error común reemplazar todo si algo sale mal. Claro, esto funcionará, pero perderá todo lo que ocurrió después de la última copia de seguridad.

Lo mejor es identificar si es necesario reemplazar todo. Guarde copias de seguridad completas como último recurso si todo lo demás falla.

Cómo restaurar la copia de seguridad de su sitio web

Bien, entonces tu sitio desapareció, pero tienes una copia de seguridad. ¿Cómo restaura su sitio desde la copia de seguridad? Esto es relativamente sencillo.

Si la copia se almacena como un archivo zip, simplemente descomprímala y vuelva a cargar todos los archivos en su ubicación original.

Tome el archivo SQL (el archivo de texto que se creó durante el volcado de SQL) y vuelva a crear la base de datos usando la línea de comandos, o si usa phpMyAdmin (o cualquier otro sistema gráfico de administración de bases de datos como MySQL Workbench), e importe el archivo o copie todo en una ventana SQL y ejecútelo.

Pruébelo localmente y, si todo funciona, cárguelo todo de nuevo en el servidor. Deberías volver a estar operativo en poco tiempo.

Si utiliza un servicio de respaldo profesional, este proceso probablemente será aún más sencillo. Cualquier servicio decente debería brindarle herramientas para restaurar su copia de seguridad, ya sea una restauración parcial o una restauración completa del sitio.

Consejo adicional: utilice la puesta en escena para el desarrollo

Más allá de la simple copia de seguridad de los archivos existentes, si está desarrollando su propio sitio o trabajando con un equipo de desarrolladores, es posible que desee considerar un sistema de versiones para mantener un registro de todas las etapas durante el proceso de desarrollo.

Al crear su sitio, normalmente habrá versiones y cambios en la forma en que está diseñado. Quizás esté realizando un rediseño completo de su sitio, pero le gustaría conservar una copia del sitio anterior.

Además, como suele ser el caso, mientras se desarrolla el sitio, algo sale terriblemente mal y es necesario encontrar un archivo tal como estaba antes de cambiarlo. También querrás conservar una versión de desarrollo local de tu sitio para realizar actualizaciones o cambios antes de lanzarlo públicamente.

Aquí es donde entran en juego los sistemas de versiones. Son similares a hacer copias de carpetas cada vez que realiza un cambio, pero están mucho más organizados y pueden permitir el desarrollo colaborativo.

Git es una herramienta fantástica para mantener bien organizado su proceso de desarrollo. Funciona para crear buenas copias de seguridad de código tanto localmente como para moverlo fácilmente de un lado a otro a la nube para una copia de seguridad remota segura.

En lugar de tener varias copias de archivos en diferentes directorios; se almacenan en ramas , lo que puede permitir que varias personas trabajen en archivos sin tantos riesgos de conflictos.

Cuando estén listos, se pueden fusionar en las ramas principales de desarrollo y, finalmente, en una rama maestra para su implementación.

A continuación se muestran dos de los repositorios de Git más populares.

  • GitHub es gratuito si está dispuesto a compartir su código fuente (en esencia, es código abierto), pero también ofrece repositorios de código privados muy asequibles. También es un gran lugar para buscar fragmentos de código y alberga una gran comunidad de desarrolladores.
  • BitBucket es similar; Si bien no es una comunidad tan grande, ofrecen algunos repositorios privados de forma gratuita.

Conclusión

Si bien algunos métodos tienen mejores ventajas que otros, hacer una copia de seguridad de su sitio web es una necesidad que no debe pasarse por alto. Lo ideal sería considerar el uso de una combinación de los métodos mencionados anteriormente.

Asegurarse de tener copias duplicadas de los archivos le ahorrará un gran dolor de cabeza en el futuro. Incluso si no le sucede nada malo a su sitio y no lo necesita, piense en el sueño adicional que obtendrá sin preocuparse por eso.

Hace una copia de seguridad de sus archivos en su computadora; su sitio web debe seguir las mismas reglas.