Cómo hacer una copia de seguridad de su sitio web a través de la línea de comandos SSH

Cómo hacer una copia de seguridad de su sitio web a través de la línea de comandos SSH / Wordpress y desarrollo web

Hacer una copia de seguridad de su sitio web o blog puede ser una tarea costosa y ardua, que requiere una variedad de complementos o planes adicionales de su proveedor de alojamiento, pero no es realmente así. Si tiene acceso SSH a su host de sitio web (por lo general, necesitará al menos un servidor privado virtual. Se explican las diversas formas de alojamiento de sitios web [Explicación de tecnología] Se explican las diversas formas de alojamiento de sitios web [tecnología explicada] Leer más para esto) Es fácil realizar copias de seguridad, restaurar y migrar todo su sitio web con solo unos pocos comandos. Déjame enseñarte como.

¿Qué es la línea de comandos SSH??

SSH le brinda la posibilidad de comunicarse directamente con su servidor web. No proporciona una interfaz bonita, ni una interfaz gráfica de usuario agradable, solo una línea de comandos potente y directa. Esto puede ser desalentador para algunas personas, pero la gran potencia, la velocidad y el nivel de automatización que ofrece pueden ser un salvavidas absoluto y hacen que el proceso de migración de sitios sea increíblemente fácil..

Desafortunadamente, la mayoría de los hosts compartidos no permiten el acceso de SSH a su cuenta, al menos no de forma predeterminada. Si está alojando con GoDaddy, puede habilitarlo, así que asegúrese de verificar primero.

Para iniciar sesión a través de SSH, abra la Terminal en OS X (u obtenga algún software SSH gratuito para Windows Qué es SSH y en qué se diferencia de FTP [Explicación de la tecnología] Qué es SSH y en qué se diferencia de FTP [Explicación de la tecnología] Leer más ) y escriba lo siguiente:

ssh [email protected]

Se le pedirá su contraseña. Si nunca ha usado SSH antes, es posible que se sorprenda cuando escriba su contraseña en la pantalla. No te preocupes, eso es por seguridad..

Una vez que haya iniciado sesión, se le presentará un símbolo del sistema, similar al siguiente:

-bash-3.2 $

Esto significa que todo está bien, así que sigue adelante y continúa con estos comandos.

Comience echando un vistazo alrededor e intentando navegar a su directorio web. Tipo:

ls

Para 'listar' los archivos y carpetas actuales.

cd directoryname

para cambiar a un directorio. En este caso, voy a navegar al directorio httpdocs, que es la raíz de mi sitio web (donde se almacenan todos mis archivos de wordpress). Luego puedes 'ls' otra vez, solo para estar seguro.

En este punto, estamos listos para comenzar el proceso de copia de seguridad SSH.

Copia de seguridad de la base de datos:

Dado que la mayoría de los lectores harán esto con una instalación de WordPress, seguramente tendrá una base de datos para respaldar, además de los archivos almacenados en el sitio. En primer lugar, necesitará 3 bits de información para hacer una copia de seguridad de su base de datos, pero todo se puede encontrar dentro de wp-config.php (si está ejecutando wordpress):

  • Nombre de la base de datos
  • Usuario de la base de datos
  • Contraseña de la base de datos

Luego, emita este sencillo comando, asegurándose de reemplazar el nombre de usuario, el nombre de la tabla y el nombre de archivo de respaldo cuando sea necesario:

mysqldump --add-drop-table -u nombre de usuario -p nombre de tabla> nombre de archivo de copia de seguridad.sql

Pulsa enter y escribe tu contraseña. Una vez que se ejecuta, puede emitir otro comando 'ls' para verificar que el archivo se haya generado. Enhorabuena, esta es toda la información en su base de datos como un solo archivo SQL, listo para realizar copias de seguridad o importar en otro lugar.

Nota: asumí que su servidor de base de datos se está ejecutando en el mismo servidor en el que está hospedando. Sin embargo, en un host de GoDaddy, la base de datos MySQL se almacena de forma remota en un servidor separado al que no tiene acceso SSH. En casos como estos, deberá acceder a PHPMyAdmin a través del panel de control de hosting, pero eso está fuera del alcance de este tutorial..

Copia de seguridad de archivos:

Ahora que tenemos la base de datos almacenada en un solo archivo en el servidor, podemos continuar y hacer una copia de seguridad tanto de eso como de los archivos de su sitio web en un solo archivo de copia de seguridad comprimido. Para hacer esto, vamos a emitir un comando simple. Solo necesitas reemplazar tu nombre de respaldo con lo que quieras que se llame.

tar -vcf yourbackupfilename.tar .

Déjame romper eso. Alquitrán es un formato común de compresión de Linux, similar a zip pero más eficiente. -vcf Son simples algunas opciones que dicen. “Haz un nuevo archivo y dime qué estás haciendo”. El siguiente es el nombre del archivo que queremos crear y, finalmente, una marca de punto único le indica que incluya todo. Podríamos haber escrito * en su lugar, pero esto perdería cualquier archivo oculto como .htaccess que es esencial para WordPress.

Eso es. Una vez que se ejecuta, tendrá un solo archivo .tar que consta de cada archivo en su sitio. Puede iniciar sesión a través de FTP en este punto y descargarlo, pero permítame mostrar un paso final que le permite restaurar todos estos archivos.

Restaurando todo:

Digamos que ha ocurrido lo peor y que algo ha salido terriblemente mal en su sitio. Tienes un alquitrán archivo de todo lo que hizo una copia de seguridad la semana pasada, por lo que ahora le gustaría restaurarlo. En primer lugar, inicie sesión a través de FTP y cargue el archivo de copia de seguridad en su servidor. Tal vez los has estado guardando en un directorio especial. De cualquier manera, mueva el último archivo de copia de seguridad completo a la raíz de su sitio, y comenzaremos.

Empiece desempaquetando todos los archivos, al revés de lo que hicimos para respaldarlos:

tar -vxf yourbackupfilename.tar

Esto sobrescribirá los archivos existentes.! La diferencia crucial aquí está en el -vxf switch, que le dice que extraiga los archivos en lugar de crear una nueva copia de seguridad. Además, no hay período en el final del comando esta vez.

El último paso es volver a absorber la base de datos donde estaba antes. Asegúrese de tener una configuración de base de datos en blanco con la misma contraseña y nombre de tabla que antes, o también deberá cambiar la configuración de su sitio. Para volver a absorber los datos, ejecute este comando:

mysql -u nombre de usuario -p nombre de tabla < databasebackupfilename.sql

La próxima semana: automatizar sus copias de seguridad

Eso es suficiente para que comience a realizar copias de seguridad de SSH por ahora. A continuación, le mostraré cómo automatizar la tarea con un simple script de shell y un comando CRON. Si tiene algo de espacio de almacenamiento de Amazon s3 4 Excelentes usos para los servicios web de Amazon S3 4 excelentes usos para los servicios web de Amazon S3 A ​​pesar de que Amazon es más conocido por sus servicios minoristas, en realidad ofrecen una gran cantidad de servicios web para desarrolladores y usuarios domésticos que utilizan ventaja de la experiencia y la escalabilidad de Amazon con una gran cantidad de ... Leer más, incluso le mostraré cómo puede cargar automáticamente sus archivos de copia de seguridad en un depósito de almacenamiento una vez que hayan terminado.

Un último consejo: cuando empecé a usar la línea de comandos, este realmente me impresionó. Intente presionar la tecla de tabulación cuando escribe un nombre de archivo largo, y si el nombre es lo suficientemente único, intentará completar automáticamente el resto del nombre de archivo!

Explore más sobre: ​​Copia de seguridad de datos, Herramientas para webmasters, Wordpress.