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.
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.
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.
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
.
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.
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.
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.