Restaurar una copia de seguridad de un archivo ZIP, como las generadas por nuestra función de copia de seguridad descargable, puede ser a veces un proceso largo. Si descomprimes un archivo ZIP localmente en tu computadora antes de subir la copia de seguridad con SFTP, es probable que te encuentres con un cuello de botella porque SFTP sólo puede transferir un número limitado de archivos simultáneamente.

Afortunadamente, hay un método más rápido que puede reducir significativamente el tiempo de restauración de la copia de seguridad.

En lugar de descomprimir un archivo ZIP localmente y subir la carpeta descomprimida, a menudo es más rápido subir un archivo ZIP al servidor antes de descomprimirlo.

En este post, explicaremos cómo descomprimir un archivo subido a un servidor usando SSH. Para nuestro ejemplo, descomprimiremos un archivo de copia de seguridad en un servidor Kinsta, pero la misma técnica puede ser usada para descomprimir cualquier archivo ZIP en cualquier servidor Linux.

Paso 1 – Ingresar a tu servidor con SSH

El primer paso es entrar en tu servidor con SSH. Para hacer esto, necesitarás un cliente SSH como la aplicación integrada de Terminal en macOS y Linux o el cliente gratuito PuTTY en Windows, y los detalles de inicio de sesión SSH – dirección IP, nombre de usuario, contraseña (opcional), y puerto.

Contraseña vs. Autenticación de clave pública

Tal vez te preguntes por qué la contraseña es opcional. Al ingresar a tu servidor con SSH, hay dos métodos de autenticación: la contraseña y la autenticación de clave pública. El método de autenticación de la contraseña utiliza una contraseña en texto plano.

La autenticación de la clave pública se considera en general una alternativa más segura que la autenticación de la contraseña. El método de autenticación de clave pública requiere que se genere un par de claves – clave pública y clave privada. La clave pública se sube al servidor, mientras que la clave privada se almacena localmente en tu computadora. Durante el proceso de inicio de sesión de SSH, se verifica el enlace criptográfico entre las dos claves para autenticar al usuario.

Los usuarios de Kinsta pueden subir las claves públicas de SSH en el tablero de MyKinsta. Si utilizas otro proveedor de servidor, te recomendamos que consultes la documentación pertinente sobre cómo subir las claves de SSH al servidor.

Ahora que hemos cubierto las diferencias entre la contraseña y la autenticación de clave pública, pasemos al proceso de inicio de sesión de SSH. Para los usuarios de Kinsta, los detalles de inicio de sesión de SSH junto con el comando completo de la terminal de SSH se proporcionan en MyKinsta.

Comando de la terminal SSH en MyKinsta.
Comando de la terminal SSH en MyKinsta.

Si estás usando otro proveedor de servidor o de hosting web, los detalles de SSH también pueden encontrarse en su tablero.

Después de encontrar los datos de acceso, puedes entrar con el siguiente comando SSH.

ssh username@ip-address -p port

Con el ejemplo de los datos de acceso que se muestra a continuación, el comando de la terminal SSH sería ssh [email protected] -p 24910. Si no utilizas la autenticación de clave pública, también se te pedirá la contraseña de SSH después de ejecutar el comando de inicio de sesión.

  • Dirección IP: 146.148.59.197
  • Nombre de usuario: kinstasite
  • Puerto: 24910

Después de un exitoso inicio de sesión de SSH, deberías ver algo como esto en la ventana de la Terminal.

Ventana de la terminal SSH.
Ventana de la terminal SSH.

Paso 2 – Instalar el paquete de descompresión (Opcional)

En algunas distribuciones de Linux, el paquete unzip no está instalado por defecto. Los usuarios de Kinsta no tienen que preocuparse por instalar el paquete unzip porque se instala automáticamente en todos los contenedores de nuestro sitio. Si estás gestionando un servidor que no tiene instalado el paquete unzip, puedes utilizar el siguiente comando para instalarlo – ten en cuenta que se requieren permisos de nivel sudo.

Ubuntu y Debian

`sudo apt install unzip`

CentOS y Fedora

`sudo yum install unzip`

Paso 3 – Descomprimir el archivo ZIP usando la terminal

El siguiente paso es navegar hasta el archivo ZIP y descomprimirlo. Para navegar a la carpeta correcta, podemos usar el comando cd, como se muestra a continuación.

cd directory

Subimos nuestro archivo backup.zip al directorio ~/private, así que usaremos el comando de abajo.

cd ~/private

Fíjate en cómo nuestro indicador de la Terminal muestra el directorio ~/private ahora.

Navegue hasta el directorio que contiene su archivo ZIP.
Navegar hasta el directorio que contiene su archivo ZIP.

Podemos usar el comando ls para listar los archivos y carpetas en el directorio actual. En la siguiente captura de pantalla, puedes ver el archivo backup.zip en nuestro directorio ~/private.

Lista de archivos en la Terminal.
Lista de archivos en la Terminal.

Hay dos maneras de descomprimir un archivo ZIP. Puedes descomprimirlo en el directorio actual o en otro directorio.

Para descomprimir el archivo en el directorio actual, usa el siguiente comando.

unzip your-file.zip

Para descomprimir el archivo en un directorio diferente, usa este comando en su lugar.

unzip your-file.zip -d directory

Para nuestro archivo backup.zip, queremos descomprimirlo en nuestra carpeta ~/public, lo cual puede hacerse con el comando de abajo.

unzip backup.zip -d ~/public

Después de ejecutar el comando de unzip, deberías ver una serie de líneas que empiezan con «inflar». Esto indica que el proceso de descompresión se inició con éxito.

Descomprime los archivos en la Terminal.
Descomprimir los archivos en la Terminal.

Después de que el proceso de descompresión haya terminado, navega al directorio de destino con el comando cd, y haz una lista de los archivos con el comando ls para verificar que los archivos descomprimidos están en el lugar correcto.

Verifica los archivos descomprimidos.
Verificar los archivos descomprimidos.

Si deseas eliminar el archivo ZIP original después de descomprimirlo, puede usar el comando rm de esta manera.

rm /path/to/your-file.zip

En general, si se trata de un archivo ZIP de más de 50 MB de tamaño, descomprimirlo en el servidor en lugar de hacerlo localmente en el ordenador suele ser más rápido. Pero hay más para descomprimir archivos ZIP ya que usar SSH y Terminal es útil para un número de casos de uso más allá de la restauración de las copias de seguridad.

Resumen

Ser capaz de descomprimir un archivo ZIP en Terminal usando SSH puede acelerar tu flujo de trabajo dramáticamente – especialmente si estás subiendo un gran número de archivos en masa. Con los comandos SSH que aparecen en este post, podrás restaurar rápidamente las copias de seguridad y mover el contenido sin tener que esperar largas subidas en SFTP.