Drush instalación

Es una aplicación de línea de comando y scripting para drupal, con el podemos realizar un sin fin de tareas tediosas que antes hacíamos desde la interfaz web, ahora las podemos realizar desde la comodidad de nuestra consola.Pero lo realmente alucianante de Drush es la posibilidad de poder syncronizar un mismo proyecto en distintos servidores a la ves por ejemplo (local, stage, live).Vamos desde el principio. Drush funciona en window y linux , para instalarlo en tu sistema operativo sigue las siguientes instrucciones para el tuyo.

Obtener Drush


Instalador Drush para Window 


En linux podemos usar pear para instalar drush de manera fácil. Desde nuestra consola escribimos lo siguiente.

pear channel-discover pear.drush.org 
pear install drush/drush 

Si los comando fallan sigue la siguientes instrucciones

pear upgrade --force Console_Getopt
pear upgrade --force pear
pear upgrade-all

Instalación Manual

Busca la sección Downloads en la pagina de drush Drush. Una ves descargado drush.gz|zip te recomiendo crear un directorio bajo el path de tu cuenta por ejemplo : /home/oscar/bin/drush y descomprimir los archivos dentro de este directorio. Luego editamos el archivo bash_profile que se encuentra en nuestro home y le agreagamos


una ves realizada la instalación de drush estamos listo para comenzar a utilizarlo.

Primeros pasos con drush

En la consola nos dirigimos al directorio de nuestra instalación drupal, por ejemplo sites/www.drupalchile.com y tecleamos


Execute a drush command. Run `drush help [command]` to view command-specific help. Run `drush topic` to read even more documentation.

Global options (see `drush topic core-global-options` for the full list):
-d, --debug Display even more information, including internal messages.
-h, --help This help system.
-ia, --interactive Force interactive mode for commands run on multiple targets (e.g. `drush @site1,@site2 cc --ia`).
-n, --no Assume 'no' as answer to all prompts.
--php=</path/to/file> The absolute path to your PHP intepreter, if not 'php' in the path.
-p, --pipe Emit a compact representation of the command for scripting.
-r <path>, --root=<path> Drupal root directory to use (default: current directory).
-s, --simulate Simulate all relevant actions (don't actually change the system).
-l <http://example.com:8888>, URI of the drupal site to use (only needed in multisite environments or when running on an alternate port).
-v, --verbose Display extra information about the command.
--version Show drush version.
-y, --yes Assume 'yes' as answer to all prompts.

Core drush commands: (core)
archive-dump (ard, Backup your code, files, and database into a single file.
archive-backup, arb)
archive-restore Expand a site archive into a Drupal web site.
cache-clear (cc) Clear a specific cache, or all drupal caches.
cache-get (cg) Fetch a cached object and display it.
cache-set (cs) Cache an object expressed in JSON or var_export() format.
core-config (conf, Edit drushrc, site alias, and Drupal settings.php files.
core-cron (cron) Run all cron hooks in all active modules for specified site.
core-execute (exec, Execute a shell command. Usually used with a site alias.
core-quick-drupal Download, install, serve and login to Drupal with minimal configuration and dependencies.
core-requirements Provides information about things that may be wrong in your Drupal installation, if any.
(status-report, rq)
core-rsync (rsync) Rsync the Drupal tree to/from another server using ssh.
core-status (status, Provides a birds-eye view of the current Drupal installation, if any.
core-topic (topic) Read detailed documentation on a given topic.
drupal-directory Return path to a given module/theme directory.
help Print this help message. See `drush help help` for more options.
image-flush Flush all derived images for a given style.
php-eval (eval, ev) Evaluate arbitrary php code after bootstrapping Drupal (if available).
php-script (scr) Run php script(s).
queue-list Returns a list of all defined queues
queue-run Run a specific queue by name
search-index Index the remaining search items without wiping the index.
search-reindex Force the search index to be rebuilt.
search-status Show how many items remain to be indexed out of the total.
self-update Check to see if there is a newer Drush release available.
shell-alias (sha) Print all known shell alias records.
site-alias (sa) Print site alias records for all known site aliases and local sites.
site-install (si) Install Drupal along with modules/themes/configuration using the specified install profile.
site-reset Reset a persistently set site.
site-set (use) Set a site alias to work on that will persist for the current session.
site-ssh (ssh) Connect to a Drupal site's server via SSH for an interactive session or to run a shell command
test-clean Clean temporary tables and files.
test-run Run tests. Note that you must use the --uri option.
updatedb (updb) Apply any database updates required (as with running update.php).
usage-send (usend) Send anonymous Drush usage information to statistics logging site. Usage statistics contain the Drush command name and the Drush option
names, but no arguments or option values.
usage-show (ushow) Show Drush usage information that has been logged but not sent. Usage statistics contain the Drush command name and the Drush option
names, but no arguments or option values.
variable-delete Delete a variable.
variable-get (vget) Get a list of some or all site variables and values.
variable-set (vset) Set a variable.
version Show drush version.
watchdog-delete Delete watchdog messages.
(wd-del, wd-delete)
watchdog-list Show available message types and severity levels. A prompt will ask for a choice to show watchdog messages.
watchdog-show Show watchdog messages.
(wd-show, ws)

Runserver commands: (runserver)
runserver (rs) Runs a lightweight built in http server for development.

Field commands: (field)
field-clone Clone a field and all its instances.
field-create Create fields and instances. Returns urls for field editing.
field-delete Delete a field and its instances.
field-info View information about fields, field_types, and widgets.
field-update Return URL for field editing web page.

Project manager commands: (pm)
pm-disable (dis) Disable one or more extensions (modules or themes).
pm-download (dl) Download projects from drupal.org or other sources.
pm-enable (en) Enable one or more extensions (modules or themes).
pm-info (pmi) Show detailed info for one or more extensions (modules or themes).
pm-list (pml) Show a list of available extensions (modules and themes).
pm-refresh (rf) Refresh update status information.
pm-releasenotes Print release notes for given projects.
pm-releases (rl) Print release information for given projects.
pm-uninstall Uninstall one or more modules.
pm-update (up) Update Drupal core and contrib projects and apply any pending database updates (Same as pm-updatecode + updatedb).
pm-updatecode (upc) Update Drupal core and contrib projects to latest recommended releases.

SQL commands: (sql)
sql-cli (sqlc) Open a SQL command-line interface using Drupal's credentials.
sql-connect A string for connecting to the DB.
sql-create Create a database.
sql-drop Drop all tables in a given database.
sql-dump Exports the Drupal DB as SQL using mysqldump or equivalent.
sql-query (sqlq) Execute a query against the site database.
sql-sync Copy and import source database to target database. Transfers via rsync.

User commands: (user)
user-add-role (urol) Add a role to the specified user accounts.
user-block (ublk) Block the specified user(s).
user-cancel (ucan) Cancel a user account with the specified name.
user-create (ucrt) Create a user account with the specified name.
user-information Print information about the specified user(s).
user-login (uli) Display a one time login link for the given user account (defaults to uid 1).
user-password (upwd) (Re)Set the password for the user account with the specified name.
user-remove-role Remove a role from the specified user accounts.
user-unblock (uublk) Unblock the specified user(s).

Other commands: (make)
make Turns a makefile into a working Drupal codebase.
make-generate Generate a makefile from the current Drupal site.

La sintaxis para usar <strong>drush</strong> es la siguiente: drush [@site] comando [argumento], por ejemplo vamos a ver el estado de nuestro sitio.

drush status

Drupal version : 7.15
Site URI : http://www.drupalchile.com
Database driver : mysql
Database hostname : localhost
Database username : ********
Database name : ******
Database : Connected
Drupal bootstrap : Successful
Drupal user : Anónimo
Default theme : *******
Administration theme : bartik
PHP configuration : ********
Drush version : 5.7
Drush configuration :
Drush alias files : /home/drupal/.drush/aliases.drushrc.php
Drupal root : /home/drupal/public_html
Site path : sites/default
File directory path : sites/default/files
temp : /tmp

Para obtener información acerca de los otros comandos debemos usar <strong>drush help [comando]</strong>.
Hasta aquí dejare esta primera entrega, entrena con el comando help y saca provecho de esta maravillosa herramienta