Drush Multi

fl3a - November 4, 2009 - 10:34

This is an extension to the Drupal Shell aka drush

I use the following symbolic links structure on our servers and wrote a bash script for handling Drupal updates years ago.

Within this structure and this drush command, it is now possible to do that via drush.

Now drush can update Drupal.

Here is the very specific structure this command deals with for multi drupalupdate and multi create:

drupal/
|-- 6.x -> drupal-6.14
|-- 6.x_backup
|-- 6.x_sites
|   |-- all  
|   |-- default
|   |-- example.com
|   |   |-- files
|   |   |-- modules
|   |   `-- themes
|   `-- sub.example.com
|       |-- files
|       |-- modules
|       `-- themes
`-- drupal-6.14
    |-- backup -> ../6.x_backup
    |-- includes
    |-- misc
    |-- modules
    |-- profiles
    |-- scripts
    `-- sites  -> ../6.x_sites

Commands

drush multi status
An extended drush core status
drush multi site
Creates a site within the installation
drush multi create
Creates a multisite installation
drush multi drupalupdate
Updates the installation if there is a new minor release available
drush multi exec
Execute drush core commands on all sites (batch mode)
drush multi sql dump
Execute a sql dump on all sites (batch mode)
drush multi nagios
Command for use as nagios plugin with exit status and status message

Credits

Thanks to the mighty hundfred, friend and Bastard Operator from Hell.

This module was sponsored by ISL Individuelle System Lösungen.

Notes

This command still under development. Not for use on production sites. Use at own risk!

Before running, make backups of your sites and data!
Try a dry run with -s / --simulate and -v / --verbose options first to see what will happen.

For something like a roadmap take a look at the todo list within the documentation.

Releases



 
 

Drupal is a registered trademark of Dries Buytaert.