Existen algunos escenarios donde la solución más conveniente —y posible— es transferir parte de sus cuentas de cPanel o WHM de forma manual. Por ejemplo, cuando las cuentas son demasiado grandes, no se pueden mover con las herramientas de transferencia de WHM, por lo tanto, tenemos que hacer un procedimiento manual. En este artículo explicamos cómo llevar a cabo este proceso.

Crear un directorio temporal con el comando mkdir

Este tutorial asume que usted ingresó a su servidor como usuario root. En caso de que no posea credenciales root también puede utilizar un usuario con privilegios administrativos y preceder los comandos aquí presentados con la utilidad sudo. También tenga en cuenta que se utiliza el nombre de usuario usuario y el dominio ejemplo.com como referencia, recuerde sustituir estos valores con los datos reales de su cuenta.

Para crear un directorio temporal, ejecute el siguiente comando:

mkdir /home/usuario-temp

Al ejecutar este comando no se producirá ninguna salida, pero se creará el directorio usuario-temp dentro del directorio home.

Crear un respaldo comprimido del directorio public_html

Ciertas configuraciones cambian la forma en cómo cPanel & WHM crean los directorios de los subdominios y de los dominios alias. En algunos servidores, estos archivos pueden no existir en el directorio public_html de la cuenta. Para más información visite el siguiente enlace oficial de cPanel que explica los cambios en las configuraciones de cPanel.

Típicamente, la mayor parte del uso de espacio de disco en una cuenta está bajo el directorio public_html. Si usted crea un respaldo comprimido del directorio public_html y lo omite del proceso de transferencia, puede reducir el tamaño del proceso de transferencia mismo.

Para crear un respaldo comprimido, ejecute el comando tar como sigue:

tar cvzf /home/usuario-temp/usuario-backup.tar.gz /home/usuario/public_html 

Notas:

— Este comando es una utilidad de archivo que comprime el archivo cuando usted agrega los argumentos apropiados.
— Esto resulta en un archivo comprimido del directorio public_html que el sistema crea en el directorio /home/usuario-temp/usuario-backup.tar.gz

En el comando arriba, la utilidad tar recibe cuatro argumentos (cvzf) y dos variables de entrada (/home/usuario-temp/usuario-backup.tar.gz y /home/usuario/public_html). A continuación la descripción del objetivo de cada argumento:

Argumento Descripción
c Este argumento crea un nuevo archivo. Debe pasar el argumento -c a la utilidad tar. Esto permite que tar cree un nuevo archivo en lugar de extraer los datos de un archivo ya existente.
v Este argumento imprime información detallada sobre las acciones de la utilidad tar en la línea de comandos (útil para saber qué se está comprimiendo y depurar cualquier error).
z Este argumento utiliza el tipo de compresión gzip para comprimir el nuevo archivo y guardarlo en el disco.
f Este argumento causa que la utilidad tar lea y escriba en el archivo especificado.

Mover el directorio public_html con el comando mv

Para mover el directorio public_html a la carpeta temporal que acaba de crear, ejecute el siguiente comando:

mv /home/usuario/public_html /home/usuario-temp/

Nunca elimine el directorio public_html antes de que termine la transferencia. Mantenga una copia del directorio public_html durante todo el proceso para asegurarse de que pueda restablecerla en caso de que se presenten fallos en el sitio web.

Crear un respaldo comprimido de los registros de error

Los grandes sitios web generan grandes logs o registros de error. Para ahorrar tiempo de transferencia y espacio en disco, cree un respaldo comprimido de estos archivos. El directorio /usr/local/apache/domlogs suele almacenar los registros de error web del servidor Apache.

Para crear un respaldo comprimido de los registros de error web en su dominio y mover estos archivos desde el directorio /usr/local/apache/domlogs al directorio temporal, ejecute los siguientes dos comandos:

tar -cvzf /home/usuario-temp/usuario-logs.tar.gz /usr/local/apache/domlogs/example.com
mv /usr/local/apache/domlogs/example.com /home/usuario-temp/

Notas:
— El primer comando crea un respaldo comprimido del registro web del dominio en el directorio /home/usuario-temp/usuario-logs.tar.gz.
— El segundo comando mueve los archivos log existentes al directorio temporal.

Transferir los respaldos comprimidos manualmente usando el comando scp

Hay varios métodos para transferir los respaldos comprimidos una vez que los cree. El protocolo de copia segura (scp) permite la transferencia de archivos entre servidores de forma rápida sin necesidad de usar argumentos.

Para transferir los archivos manualmente, ejecute el comando scp:

scp $local file to move $remote host:/path/to/new/file

Nota importante: debe poseer el nombre de usuario y contraseña del servidor remoto en el cual depositará los nuevos archivos. Además debe especificar la ruta en la que quiere copiar los archivos en el servidor remoto.

Por ejemplo, para transferir los respaldos comprimidos al directorio /home/temp/, ejecute los siguientes comandos:

scp /home/usuario-temp/usuario-logs.tar.gz root@nuevodominio.com:/home/temp/
scp /home/usuario-temp/usuario-backup.tar.gz root@nuevodominio.com:/home/temp/ 

Estos dos comandos transfieren los respaldos comprimidos del directorio public_html y de los archivos log de Apache que usted creó anteriormente. El destino de estos archivos será el directorio /home/temp/ del nuevo servidor. El sistema le pedirá la contraseña para el usuario especificado cuando se conecte al nuevo servidor (en este caso se especificó el usuario root). Para transferir el resto de la información de su cuenta puede utilizar la Herramienta de Transferencia de WHM.

Algunas configuraciones en servidores remotos podrían requerir que especifique argumentos particulares para el protocolo scp. La siguiente lista los enumera en caso de que sean necesarios:

Argumento Descripción Ejemplo
-P Este argumento le permite especificar un número de puerto. Especifique este argumento si el servidor remoto no utiliza el puerto SSH por defecto (22). scp -P 372 /home/usuario-temp/usuario-logs.tar.gz root@nuevodominio.com:/home/temp/
-i Este argumento permite que especifique un archivo de clave si el servidor remoto requiere una autenticación basada en claves. scp -i key-name /home/usuario-temp/usuario-logs.tar.gz root@nuevodominio.com:/home/temp/
-v Este argumento causa que la utilidad scp produzca una salida detallada. Use este argumento si experimenta problemas con este comando. scp -v /home/usuario-temp/usuario-logs.tar.gz root@nuevodominio.com:/home/temp/

Extraer los archivos comprimidos

Después de transferir los dos respaldos comprimidos y completar la transferencia de la cuenta, extraiga los archivos comprimidos en las ubicaciones apropiadas. Para extraer los respaldos comprimidos en las ubicaciones apropiadas ejecute el siguiente comando:

tar -xvzf archivo-a-extraer.tar.gz /ruta/de/extracción

Este comando utiliza el argumento -x en lugar del argumento -c. El argumento -x le dice a la utilidad tar que extraiga la información del archivo especificado.

Para restaurar el directorio public_html en el directorio /home/usuario y extraer los logs de Apache en el directorio /usr/local/apache/domlogs ejecute los siguientes dos comandos:

tar -xvzf /home/temp/usuario-backup.tar.gz /home/usuario/
tar -xvzf /home/temp/usuario-logs.tar.gz /usr/local/apache/domlogs/

Al ejecutar estos dos comandos, usted estará transfiriendo y restaurando los respaldos que creó al principio de este tutorial. ¡Felicidades! Con esto habrá completado los pasos para la transferencia manual de su cuenta.

Recursos adicionales

Para complementar la información aquí presentada puede consultar los siguientes recursos. Aunque este material es provisto esperando que sea útil, tenga en cuenta que no podemos certificar su actualidad o precisión.