lunes, 30 de julio de 2012

Comprimir una carpeta desde el shell de Linux con un comando


Ni que decir tiene que algo tan básico y util no lo podemos dejar de tener en cuenta.

tar -zcvf archivo.tar.gz directorio


Información de los parámetros usados:

  • -z: Comprimir con gzip
  • -c: Crear un nuevo archivo
  • -v: Verbose, es decir mostrar info durante el proceso de compresión
  • -f: nombre del archivo


Migrar una base de datos grande entre dos servidores sin usar phpMyAdmin

En ocasiones necesitamos importar bases de datos con un gran volumen de datos a un nuevo servidor. Si con phpMyAdmin (que suele ser la forma más cómoda) tenemos problemas por su tamaño o por cualquier otro motivo,  podemos usar el método alternativo que a continuación voy a detallar.



En primer lugar haremos una copia de la base de datos original desde el shell con el siguiente comando:

mysqldump -h localhost -u usuario -pcontraseña basededatos > archivodesalida.sql

Luego si queremos podemos comprimirlo con el siguiente comando:

gzip archivodesalida.sql.gz

Luego descargaremos el script bigdump y lo descomprimimos en el raiz de nuestro sitio web

http://www.ozerov.de/bigdump/ 

Crearemos una nueva base de datos, nuevo usuario y nueva contraseña en el servidor nuevo y anotaremos esos datos para usarlos a continuación.

Editamos el archivo bigdump.php y lo configuramos al gusto. Generalmente suele ser necesario cambiar las siguientes variables del archivo con nuestros datos:

$db_server   = "localhost";
$db_name     = "basededatosnueva";
$db_username = "usuario";
$db_password = "contraseña";   


$linespersession  = 3000;
$delaypersession  = 100; 


$db_connection_charset = 'utf8'; 

Por último subimos a nuestro nuevo servidor la base de datos mediante ftp o como sea en la misma carpeta que está bigdump.php y lo ejecutamos accediendo a la página:

http://www.tusitio.com/bigdump.php

Y desde la página que se nos abrirá ya podremos cargar la antigua base de datos en nuestro nuevo servidor.

Con estos sencillos pasos podemos migrar cualquier base de datos sin tener que usar phpmyadmin