DRUSH(1)

NAME
drush - shell scripting interface for Drupal

SYNOPSIS
drush [options] command...

DESCRIPTION

drush is a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.

Drush core ships with lots of useful commands for interacting with code like modules/themes/profiles. Similarly, it runs update.php, executes sql queries and DB migrations, and misc utilities like run cron or clear cache.

OPTIONS

-r path, --root=path
    Drupal root directory to use (default: current directory)

-l uri, --uri=uri
    URI of the drupal site to use (only needed in multisite environments)

-v, --verbose
    Display extra information about the command.

-q, --quiet
    Hide all output

-d, --debug
    Display even more information, including internal messages.

-y, --yes
    Assume 'yes' as answer to all prompts

-s, --simulate
    Simulate all relevant actions (don't actually change the system)

-p, --pipe
    Emit a compact representation of the command for scripting.

-h, --help
    A detailed help system, use drush help help for complete help.

--version
    Show drush version.

If you get tired of typing options all the time, you can add them to your drush.php alias or create a drushrc.php file. These provide additional options for your drush call. They provide great flexibility for a multi-site installation, for example. See example.drushrc.php.

COMMANDS
Drush is all based around "commands" that are usually defined in various modules.

help
    Print the help message. Use --filter to limit command list to one command file (e.g. --filter=pm).

cache-clear (cc)
    Clear a specific cache, or all drupal caches.

core-cli (cli)
    Enter a new shell optimized for Drush use.

core-cron (cron)
    Run all cron hooks.

core-status (st)
    Provides a birds-eye view of the current Drupal installation, if any.

php-eval (eval)
    Evaluate arbitrary php code after bootstrapping Drupal.

updatedb (updb)
    Apply any database updates required (as with running update.php).

variable-get (vget)
    Get a list of some or all site variables and values

variable-set (vset)
    Set a variable.

watchdog show
    Shows recent watchdog log messages. Optionally filter for a specific type.

pm-enable (en)
    Enable one or more extensions (modules or themes).

pm-disable (dis)
    Disable one or more extensions (modules or themes).

pm-download (dl)
    Download projects from drupal.org or other sources.

pm-uninstall
    Uninstall one or more modules.

pm-updatecode (upc)
    Update Drupal core and contrib projects to latest recommended releases.

pm-update (up)
    Update Drupal core and contrib projects and apply any pending database updates (Same as pm-updatecode + updatedb).

sql-cli (sqlc)
    Open a SQL command-line interface using Drupal's credentials.

sql-connect
    A string for connecting to the DB.

sql-dump
    Exports the Drupal DB as SQL using mysqldump.

This manual only lists a few of the most frequently used builtin commands shipped with the Drush core, since other Drupal modules and third-party "command files" may extend this list significantly. The canonical source of information for the available commands and their usage is the online help system.

More information on each command is also available through drush help <command>. Most commands have shortcuts indicated in parenthesis.

FILES
/etc/drush/drushrc.php
/usr/share/doc/drush/examples/example.drushrc.php

SEE ALSO
cvs(1), svn(1), wget(1).

AUTHOR
Drush was originally developed by Arto for Drupal 4.7 (this alpha code can still be found in the DRUPAL-4-7 branch). In May 2007, it was partly rewritten and redesigned for Drupal 5 by frando. Since 2008, the module has been maintained by Moshe Weitzman, Owen Barton and Adrian Rossouw.

This manual page was written by Antoine Beaupré <anarcat@debian.org> in June 2009 for the Debian project (but may be used by others).