Drush es una herramienta de línea de comandos que te permitirá gestionar, automatizar y diagnosticar instalaciones de Drupal a través de cualquier conexión SSH (como la que puedes establecer a través de programas como PuTTy).
Aprender a dominar la herramienta te permitirá ser mucho más eficiente y productivo con Drupal cuando tengas que hacer gestiones sobre él.
¿Cómo funciona?
Para usar Drush será necesario que primeramente te sitúes en el directorio raíz de tu Drupal.
Por ejemplo, si tu instalación estuviese en el directorio /home/drupal/public_html primero tendrías que navegar a él usando el comando cd, tal y como ilustramos a continuación:
cd /home/drupal/public_html
Una vez hayas entrado en el directorio de Drupal podrás usar los muchos comandos que pone a tu disposición para gestionar tu instalación.
A continuación te vamos a dar una pequeña introducción a los comandos que consideramos más importantes, los cuales vamos a agrupar por funcionalidad.
Comandos para obtener información de Drupal
Información de Drupal: drush status
El comandodrush status
es muy útil y te permitirá mostrar información importante de la instalación de Drupal a la que hayas accedido.
Esta información incluye cosas como la versión de Drupal, la URL asociada a la instalación, los datos de conexión a la base de datos, el theme por defecto, los datos de configuración de PHP y otra información relevante.
A continuación te mostramos un ejemplo de ejecutar drush status
en una instalación:
Drupal version : 8.4.5
Site URI : http://drupal.raiolanetworks.es
Database driver : mysql
Database hostname : localhost
Database port : 3306
Database username : admin_vps3
Database name : admin_vps3
Database : Connected
Drupal bootstrap : Exitoso
Drupal user :
Default theme : bartik
Administration theme : seven
PHP executable : /usr/bin/php
PHP configuration : /etc/php.ini
PHP OS : Linux
Drush script : /usr/share/drush/drush.php
Drush version : 8.1.15
Drush temp directory : /tmp
Drush configuration :
Drush alias files :
Install profile : standard
Drupal root : /home/drupal/public_html
Drupal Settings File : sites/default/settings.php
Site path : sites/default
File directory path : sites/default/files
Temporary file directory path : /home/Drupal/tmp
Sync config path : sites/default/files/config_pt-9HwjMSglYAJcrVCkwm89FZZNV2kQlyuiN0aBylze7_AePjsLZyN6QQo-zKNiHGoa5-Jzduw/sync
Logs de Drupal: drush ws
Drupal tiene un potente sistema de logs llamado watchdog que registra información de la aplicación, sea informativa, de avisos o de errores.
Escribiendo drush ws
podrás ver los últimos registros importantes del watchdog, lo cual es muy útil para ver qué está sucediendo en Drupal.
A continuación te mostramos el resultado de ejecutar el comando:
$ drush ws
ID Date Type Severity Message
44 05/Mar 18:58 locale notice Updated JavaScript translation file for the language Spanish.
43 05/Mar 18:58 user notice Session opened for Soporte.
42 05/Mar 18:58 cron notice Cron run completed.
41 05/Mar 18:58 cron notice Execution of system_cron() took 12.83ms.
40 05/Mar 18:58 cron notice Starting execution of system_cron(), execution of search_cron() took 3.66ms.
39 05/Mar 18:58 cron notice Starting execution of search_cron(), execution of node_cron() took 21.48ms.
38 05/Mar 18:58 cron notice Starting execution of node_cron(), execution of locale_cron() took 0.71ms.
37 05/Mar 18:58 cron notice Starting execution of locale_cron(), execution of history_cron() took 0.36ms.
36 05/Mar 18:58 cron notice Starting execution of history_cron(), execution of file_cron() took 19.26ms.
35 05/Mar 18:58 cron notice Starting execution of file_cron(), execution of field_cron() took 1.54ms.
Comandos para trabajar con la base de datos de Drupal
Acceder a la base de datos de Drupal: drush sqlc
Usando el comando drush sqlc
podrás acceder directamente a la base de datos asociada a Drupal por línea de comandos.
Con esto te ahorrarás tener que revisar los datos de conexión (usuario, contraseña, etc.) si necesitas hacer alguna consulta rápida sobre la instalación.
Sencillamente escribe drush sqlc
y podrás acceder a la base de datos.
Exportar la base de datos: drush sql-dump
Puedes usar el comando drush sql-dump
si en algún momento necesitas hacer un backup de la base de datos de Drupal de forma rápida y sin necesitar saberte de memoria datos como usuario, base de datos, contraseña, etc.
Al ejecutarlo generarás un fichero de exportación de MySQL, MariaDB o SQLite en el que tendrás la copia de seguridad de la base de datos de tu sitio.
Esta es una opción muy práctica para automatizar procesos o para hacer copias de seguridad rápidamente antes de hacer alguna gestión dentro del CMS.
Importar bases de datos: drush sql load
Este comando permitirá importar cualquier archivo de exportación de MySQL —o MariaDB— en la base de datos de tu Drupal.
Con solo escribir drush sql load <fichero>
(donde fichero referencia a la ruta del fichero que quieres importar) drush se encargará de importar el contenido en la base de datos de Drupal sin que tengas que especificar usuarios o contraseñas en ningún momento.
Comandos de mantenimiento de Drupal
Borrar caché: drush cc
Este comando te permitirá borrar las cachés de Drupal, ya sea alguna en concreto o todas a la vez.
Si escribes drush cc
a secas el sistema te permitirá elegir cual quieres borrar.
Si escribes drush cc all
se borrarán todas la cachés de Drupal.
Listar módulos y temas activos: drush pml
Este comando listará todos los temas, módulos y extensiones de Drupal que tengas en tu instalación.
Solo con escribir drush pml
podrás ver qué tienes instalado en tu sitio, esté o no activado e incluyendo también la versión de cada módulo.
Instalar, desactivar y activar módulos: drush dl, drush dis y drush en
Los comandos te permitirán interactuar con el sistema de extensiones de Drupal:
drush dl <nombre
>
: Este comando te permitirá instalar desde el repositorio de Drupal el módulo que pases como parámetro. Drush se encarga de descargarlo e instalarlo por ti.drush en <nombre>
: Usando este otro comando podrás activar un módulo de Drupal. Una cosa interesante del comando es que ya se encargará de gestionar las dependencias, descargándose cualquier otro módulo necesario para realizar la activación.drush dis <nombre>
: Por último, este comando te permitirá desactivar módulos activos de Drupal. Es especialmente útil para desactivar módulos rápidamente si necesitas encontrar alguno que cause errores en tu sitio.
Modificadores de los comandos de drush
Drush ofrece algunos modificadores que pueden aplicarse a todos los comandos y, así, modificar su comportamiento. Te presentamos los que creemos que son más útiles:
-v (verbose)
: Cualquier comando que ejecutes con Drush y este modificador mostrará mucha más información de depuración por pantalla. Si en algún momento experimentas fallos —ya sea con Drush o el propio Drupal— este modificador puede ofrecerte más datos.
-s (simulate):
Esta opción hace que el comando al que se lo añadas no se ejecute y solo se simule. Esto significa que, en lugar de hacer el cambio que sea, te mostrará por pantalla los pasos que drush tomaría para ejecutar lo que solicitas. Si estás haciendo gestiones delicadas y quieres evitar cometer errores tipográficos que puedan tener consecuencias negativas en el sitio, te recomendamos usar ejecutar primero una simulación para asegurarte de que el resultado del comando es el que esperas.
-r <ruta>
: Como comentamos antes, es necesario navegar al directorio del Drupal a gestionar usando el comando `cd` de Linux. Este modificador te permite, en lugar de hacer eso, especificar la ruta absoluta del sitio a gestionar. Es útil para automatizar procesos, o bien, cuando tienes muchas instalaciones distintas y necesitas usar Drush de forma frecuente en todas ellas.
Enlaces de interés
- Página oficial de Drush: http://www.drush.org/
- Documentación de Drush (Inglés): http://docs.drush.org/en/master/
- Github de Drush: https://github.com/drush-ops/drush