SlideShare a Scribd company logo
Drush + Multisite:
                                  drush_multi

                                       Florian Latzel




drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   1
whoami


    Florian „fl3a“ Latzel
    Staatl. gepr. Informatiker
    LPIC Level 2
    Seit '06 IT-Berater(„ISL Individuelle System Lösungen“)
    Blog: http://netzaffe.de
    ●   Open Source Software
    ●   Content Management Systeme
    ●   Web-Entwicklung
    ●   Analyse, Beratung, Konzeption, Training

drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   2
ls ­lia drush


   Inhalt
   ●   Drush
   ●   Multisite
   ●   drush_multi
   ●   Bewegründe
   ●   Commands
   ●   Stolpersteine




drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   3
whatis drush


    Drupal Shell
    ●   Projektseite:
        http://drupal.org/project/drush
    ●   Bevorzugt auf unixoiden Systemen
    ●   PHP-CLI Skript
    ●   Kein Drupal-Modul
    ●   Benötigt keine Drupal-Installation
    ●   Unabhängig von Drupal-Version(5.x, 6.x, 7.x)



drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   4
ls ­l /var/www/drupal


   Multisite
    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 


drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   5
firefox http://drupal.org/project/drush_multi


   drush_multi
    ●   Projektseite
        http://drupal.org/project/drush_multi
    ●   Dokumentation
        http://is-loesungen.de/docu/drush_multi
    ●   Benötigt drush >= 2.1
    ●   Status: „Experimentell“
    ●   Installation über CVS
    ●   @todo's
        http://is-loesungen.de/docu/drush_multi/todo.html

drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   6
why?


   Bewegründe
    ●   Shellskript VS drush
    ●   Zeit
    ●   Admins sind faul




drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   7
multi create (mcr, create)


   Erstellt eine Multisite-Installation.
   Examples:
    drush multi create /var/www 6                    Create a drupal 6 installation in 
                                                     /var/www with creating the 
                                                     directories 6.x_sites, 6.x_backup 
                                                     in /var/www linked as sites and 
                                                     backup withing the drupal 
                                                     installation folder.
   Arguments:
    /path/to/installation                            Directoy where drupal should be
                                                     installed. Mandatory
    core                            Drupal core compatiblity.
                                    Mandatory.




drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   8
multi site (msi, site)


   Legt eine Site innerhalb der Installation an.
   Examples:
    drush ­r /path/to/drupal multi site                        Create the site 'example.com'  
    example.com                                                within a 'files', a 'themes',  
    ­­create­directories=dir1,dir2,dir3                        a 'modules' directory  and the 
                                                               additional directories 'dir1', 
                                                               'dir2' and 'dir3' in 
                                                               /path/to/drupal/sites.
   Arguments:
    Site­name                                                  Name of the site. Mandatory.
   Options:
    ­­create­directories                   Comma seperated list of 
                                           aditional directories.




drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   9
multi status (mst)


   Status der Multisite-Installation.
   Erweiterter drush status
    ●   Sites
    ●   Sitecounter
    ●   Verherige Drupal Versionen
    ●   Core Status


   drush ­r /path/to/drupal multi status




drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   10
multi exec (mex)


   Batch Operationen über alle Sites.
   Examples:
   drush ­r /path/to/drupal multi exec       
   Arguments: 
    command                  The drush command to execute. For drush 
                             commands with blanks like 'watchdog show'
                             make sure to use single or double quotes. 
                             Mandatory.
   Options:
    ­­option                               Option to pass to drush command. e.g. 
                                           '­­limit=20' for 'watchdog show'. 
                                           The number of messages to show. 
                                           Optional.
    ­­argument               Argument to pass to drush command e.g. 
                             'php' as type for 'watchdog delete' and  
                             'watchdog show'. 
                             Optional.
drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   11
multi sql dump (msq)


   SQL-Dumps über alle Sites im Batch-Mode.
   Examples:
   drush ­r /path/to/drupal multi sql dump ­­bzip2 ­­comment=before­
   update­to­6.15  ­­destination=$HOME/db_backups
   Options:
    ­­destination                     Absolute Path to the directory where to store 
                                      the sql dumps. Default /tmp. Optional.
    ­­comment             Comment for filename. May contain alphanumics, 
                          '­' and '_'. Optional.
    ­­bzip2               Use bzip2 for compression of each sql dump. 
                          Optional




drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   12
multi nagios (mna, nagios)


  Zur Benutzung als Nagios-Plugin.
  Überwacht die Drupal-Installation auf Core-Updates.
  Liefert Nachricht und Exit-Status. (0 = OK, 2 = Critical)
  drush ­r /path/to/drupal multi nagios




drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   13
multi drupalupdate (mdr, drupalupdate)


   Update des Drupal Core's über drush...
   drush ­r /path/to/drupal drupalupdate




drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   14
preg_match(): No ending delimiter '^' found


   Stolpersteine
    ●   Drush Hooks durch Zufall entdeckt[1]
    ●   Entfernung des Shebang's in drush.php[2][3]
    ●   Umbennenung von dl nach download wg. der
        Einführung von Aliases in drush 2.1[3][4]
    ●   Änderung in drush_scan_directory() in drush 2.1:
        Ersetzung von ereg() durch preg_match()
    ●   Rückgabewert von _pm_get_update_info() ist bei
        5.x und 6.x unterschiedlich



drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   15
Appendix


        [1] #349923 drush_invoke : a flexible API for hooking
          into any and all drush calls.
          http://drupal.org/node/349923
          In drush 2.1 in Form von drush.api.php 
          dokumentiert
        [2] #586466 Drush.php is no longer directly
          executable (can interfere with backend invoke)
          http://drupal.org/node/586466
        [3] #549494 Support for command aliases
           http://drupal.org/node/549494
        [4] Blogbeitrag zum 2.1 Release von drush
            http://netzaffe.de/blog/2009/10/27/drush-6-x-2-1-release.html
drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   16
which; whatis; who >/dev/null


    Fragen?


    f.latzel@is-loesungen.de




drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28   17

More Related Content

PDF
drush_multi @ DrupalDevDays 2010
PDF
features+
PDF
Drupal 6.x, Drupal 7.x -- Scratching the surface
PDF
features+ #dcb11
PDF
Yet Another Drupal Development/Deployment Presentation
PDF
Drupal Best Practices
PDF
2014 hadoop wrocław jug
PDF
Migrate to Drupal 8
drush_multi @ DrupalDevDays 2010
features+
Drupal 6.x, Drupal 7.x -- Scratching the surface
features+ #dcb11
Yet Another Drupal Development/Deployment Presentation
Drupal Best Practices
2014 hadoop wrocław jug
Migrate to Drupal 8

What's hot (19)

PDF
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
PDF
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
PDF
Migrating data to drupal 8
PDF
Ts drupal6 module development v0.2
PDF
[drupalday2017] - Devel - D8 release party
PDF
Sergei Stryukov.Drush.Why it should be used.DrupalCamp Kyiv 2011
PDF
Ansible Project Deploy (phpbenelux 2015)
PDF
Plain english guide to drupal 8 criticals
PDF
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
PPT
PDF
Ansible project-deploy
PDF
Balisage - EXPath - A practical introduction
PPTX
Exploring composer in drupal 8 with drupal project - salva molina
PPT
2 Linux Container and Docker
PDF
Doctrine Project
PPT
8b. Column Oriented Databases Lab
PDF
Bring drupal 8 to all in their native languages
PDF
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
PDF
Staging Drupal 8 31 09 1 3
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Migrating data to drupal 8
Ts drupal6 module development v0.2
[drupalday2017] - Devel - D8 release party
Sergei Stryukov.Drush.Why it should be used.DrupalCamp Kyiv 2011
Ansible Project Deploy (phpbenelux 2015)
Plain english guide to drupal 8 criticals
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
Ansible project-deploy
Balisage - EXPath - A practical introduction
Exploring composer in drupal 8 with drupal project - salva molina
2 Linux Container and Docker
Doctrine Project
8b. Column Oriented Databases Lab
Bring drupal 8 to all in their native languages
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Staging Drupal 8 31 09 1 3
Ad

Similar to Drush und Multisite: drush_multi (20)

PDF
A Drush Primer - DrupalCamp Chattanooga 2013
PDF
Hong Kong Drupal User Group - Introduction of Drush
PDF
Improving your Drupal 8 development workflow DrupalCampLA
PDF
Speed up Drupal development with Drush
PDF
Beginning Drush
KEY
drush - the commandline is your friend
PDF
Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011
PDF
Drush workshop
PPTX
Drush for drupal website builder
PDF
Drush in the Composer Era
ODP
Drush A beginners guide to a advanced tool.
PDF
Face your fears: Drush and Aegir
KEY
Depolying Drupal with Git, Drush Make and Capistrano
PDF
Drush to simplify Drupalers work - Sivaji
PPT
Intro to Drush
PDF
Drupal 8 update & drush: October 2014
PPTX
Drupal Overview For Techies
PDF
Drupal VM for Drupal 8 Dev - Drupal Camp STL 2017
PDF
Using Composer with Drupal and Drush
PDF
Modernize Your Drupal Development
A Drush Primer - DrupalCamp Chattanooga 2013
Hong Kong Drupal User Group - Introduction of Drush
Improving your Drupal 8 development workflow DrupalCampLA
Speed up Drupal development with Drush
Beginning Drush
drush - the commandline is your friend
Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011
Drush workshop
Drush for drupal website builder
Drush in the Composer Era
Drush A beginners guide to a advanced tool.
Face your fears: Drush and Aegir
Depolying Drupal with Git, Drush Make and Capistrano
Drush to simplify Drupalers work - Sivaji
Intro to Drush
Drupal 8 update & drush: October 2014
Drupal Overview For Techies
Drupal VM for Drupal 8 Dev - Drupal Camp STL 2017
Using Composer with Drupal and Drush
Modernize Your Drupal Development
Ad

Recently uploaded (20)

PDF
Electronic commerce courselecture one. Pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Approach and Philosophy of On baking technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
Electronic commerce courselecture one. Pdf
Per capita expenditure prediction using model stacking based on satellite ima...
MYSQL Presentation for SQL database connectivity
NewMind AI Weekly Chronicles - August'25 Week I
Review of recent advances in non-invasive hemoglobin estimation
Machine learning based COVID-19 study performance prediction
Big Data Technologies - Introduction.pptx
Encapsulation theory and applications.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Understanding_Digital_Forensics_Presentation.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Chapter 3 Spatial Domain Image Processing.pdf
Spectral efficient network and resource selection model in 5G networks
Mobile App Security Testing_ A Comprehensive Guide.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
NewMind AI Monthly Chronicles - July 2025
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Approach and Philosophy of On baking technology
Digital-Transformation-Roadmap-for-Companies.pptx

Drush und Multisite: drush_multi

  • 1. Drush + Multisite: drush_multi Florian Latzel drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 1
  • 2. whoami Florian „fl3a“ Latzel Staatl. gepr. Informatiker LPIC Level 2 Seit '06 IT-Berater(„ISL Individuelle System Lösungen“) Blog: http://netzaffe.de ● Open Source Software ● Content Management Systeme ● Web-Entwicklung ● Analyse, Beratung, Konzeption, Training drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 2
  • 3. ls ­lia drush Inhalt ● Drush ● Multisite ● drush_multi ● Bewegründe ● Commands ● Stolpersteine drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 3
  • 4. whatis drush Drupal Shell ● Projektseite: http://drupal.org/project/drush ● Bevorzugt auf unixoiden Systemen ● PHP-CLI Skript ● Kein Drupal-Modul ● Benötigt keine Drupal-Installation ● Unabhängig von Drupal-Version(5.x, 6.x, 7.x) drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 4
  • 5. ls ­l /var/www/drupal Multisite  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  drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 5
  • 6. firefox http://drupal.org/project/drush_multi drush_multi ● Projektseite http://drupal.org/project/drush_multi ● Dokumentation http://is-loesungen.de/docu/drush_multi ● Benötigt drush >= 2.1 ● Status: „Experimentell“ ● Installation über CVS ● @todo's http://is-loesungen.de/docu/drush_multi/todo.html drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 6
  • 7. why? Bewegründe ● Shellskript VS drush ● Zeit ● Admins sind faul drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 7
  • 8. multi create (mcr, create) Erstellt eine Multisite-Installation. Examples:  drush multi create /var/www 6 Create a drupal 6 installation in  /var/www with creating the  directories 6.x_sites, 6.x_backup  in /var/www linked as sites and  backup withing the drupal  installation folder. Arguments:  /path/to/installation Directoy where drupal should be installed. Mandatory  core                            Drupal core compatiblity. Mandatory. drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 8
  • 9. multi site (msi, site) Legt eine Site innerhalb der Installation an. Examples:  drush ­r /path/to/drupal multi site Create the site 'example.com'    example.com within a 'files', a 'themes',    ­­create­directories=dir1,dir2,dir3 a 'modules' directory  and the  additional directories 'dir1',  'dir2' and 'dir3' in  /path/to/drupal/sites. Arguments:  Site­name Name of the site. Mandatory. Options:  ­­create­directories                   Comma seperated list of  aditional directories. drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 9
  • 10. multi status (mst) Status der Multisite-Installation. Erweiterter drush status ● Sites ● Sitecounter ● Verherige Drupal Versionen ● Core Status drush ­r /path/to/drupal multi status drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 10
  • 11. multi exec (mex) Batch Operationen über alle Sites. Examples: drush ­r /path/to/drupal multi exec        Arguments:   command                  The drush command to execute. For drush  commands with blanks like 'watchdog show' make sure to use single or double quotes.  Mandatory. Options:  ­­option  Option to pass to drush command. e.g.  '­­limit=20' for 'watchdog show'.  The number of messages to show.  Optional.  ­­argument               Argument to pass to drush command e.g.  'php' as type for 'watchdog delete' and   'watchdog show'.  Optional. drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 11
  • 12. multi sql dump (msq) SQL-Dumps über alle Sites im Batch-Mode. Examples: drush ­r /path/to/drupal multi sql dump ­­bzip2 ­­comment=before­ update­to­6.15  ­­destination=$HOME/db_backups Options:  ­­destination Absolute Path to the directory where to store  the sql dumps. Default /tmp. Optional.  ­­comment             Comment for filename. May contain alphanumics,  '­' and '_'. Optional.  ­­bzip2               Use bzip2 for compression of each sql dump.  Optional drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 12
  • 13. multi nagios (mna, nagios) Zur Benutzung als Nagios-Plugin. Überwacht die Drupal-Installation auf Core-Updates. Liefert Nachricht und Exit-Status. (0 = OK, 2 = Critical) drush ­r /path/to/drupal multi nagios drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 13
  • 14. multi drupalupdate (mdr, drupalupdate) Update des Drupal Core's über drush... drush ­r /path/to/drupal drupalupdate drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 14
  • 15. preg_match(): No ending delimiter '^' found Stolpersteine ● Drush Hooks durch Zufall entdeckt[1] ● Entfernung des Shebang's in drush.php[2][3] ● Umbennenung von dl nach download wg. der Einführung von Aliases in drush 2.1[3][4] ● Änderung in drush_scan_directory() in drush 2.1: Ersetzung von ereg() durch preg_match() ● Rückgabewert von _pm_get_update_info() ist bei 5.x und 6.x unterschiedlich drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 15
  • 16. Appendix [1] #349923 drush_invoke : a flexible API for hooking into any and all drush calls. http://drupal.org/node/349923 In drush 2.1 in Form von drush.api.php  dokumentiert [2] #586466 Drush.php is no longer directly executable (can interfere with backend invoke) http://drupal.org/node/586466 [3] #549494 Support for command aliases http://drupal.org/node/549494 [4] Blogbeitrag zum 2.1 Release von drush http://netzaffe.de/blog/2009/10/27/drush-6-x-2-1-release.html drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 16
  • 17. which; whatis; who >/dev/null Fragen? f.latzel@is-loesungen.de drush_multi | Florian Latzel | DrupalCamp Vienna 2009 | ISL Individuelle System Lösungen | 2009-11-28 17