SlideShare a Scribd company logo
1 of 17
Download to read offline
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

What's hot

Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...Phase2
 
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016Paul McKibben
 
Ts drupal6 module development v0.2
Ts   drupal6 module development v0.2Ts   drupal6 module development v0.2
Ts drupal6 module development v0.2Confiz
 
[drupalday2017] - Devel - D8 release party
[drupalday2017] - Devel - D8 release party[drupalday2017] - Devel - D8 release party
[drupalday2017] - Devel - D8 release partyDrupalDay
 
Sergei Stryukov.Drush.Why it should be used.DrupalCamp Kyiv 2011
Sergei Stryukov.Drush.Why it should be used.DrupalCamp Kyiv 2011Sergei Stryukov.Drush.Why it should be used.DrupalCamp Kyiv 2011
Sergei Stryukov.Drush.Why it should be used.DrupalCamp Kyiv 2011camp_drupal_ua
 
Ansible Project Deploy (phpbenelux 2015)
Ansible Project Deploy (phpbenelux 2015)Ansible Project Deploy (phpbenelux 2015)
Ansible Project Deploy (phpbenelux 2015)Ramon de la Fuente
 
Plain english guide to drupal 8 criticals
Plain english guide to drupal 8 criticalsPlain english guide to drupal 8 criticals
Plain english guide to drupal 8 criticalsAngela Byron
 
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
Leonid Vasilyev  "Building, deploying and running production code at Dropbox"Leonid Vasilyev  "Building, deploying and running production code at Dropbox"
Leonid Vasilyev "Building, deploying and running production code at Dropbox"IT Event
 
Balisage - EXPath - A practical introduction
Balisage - EXPath - A practical introductionBalisage - EXPath - A practical introduction
Balisage - EXPath - A practical introductionFlorent Georges
 
Exploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molinaExploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molinaSalvador Molina (Slv_)
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and DockerFabio Fumarola
 
Doctrine Project
Doctrine ProjectDoctrine Project
Doctrine ProjectDaniel Lima
 
8b. Column Oriented Databases Lab
8b. Column Oriented Databases Lab8b. Column Oriented Databases Lab
8b. Column Oriented Databases LabFabio Fumarola
 
Bring drupal 8 to all in their native languages
Bring drupal 8 to all in their native languagesBring drupal 8 to all in their native languages
Bring drupal 8 to all in their native languagesSébastien Corbin
 
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011camp_drupal_ua
 
Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3Drupalcon Paris
 

What's hot (19)

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

Similar to Drush und Multisite: drush_multi

A Drush Primer - DrupalCamp Chattanooga 2013
A Drush Primer - DrupalCamp Chattanooga 2013A Drush Primer - DrupalCamp Chattanooga 2013
A Drush Primer - DrupalCamp Chattanooga 2013Chris Hales
 
Hong Kong Drupal User Group - Introduction of Drush
Hong Kong Drupal User Group - Introduction of DrushHong Kong Drupal User Group - Introduction of Drush
Hong Kong Drupal User Group - Introduction of DrushFrancis Yan
 
Improving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAImproving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAJesus Manuel Olivas
 
Speed up Drupal development with Drush
Speed up Drupal development with DrushSpeed up Drupal development with Drush
Speed up Drupal development with Drushkbasarab
 
drush - the commandline is your friend
drush - the commandline is your frienddrush - the commandline is your friend
drush - the commandline is your friendNathan Lisgo
 
Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011
Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011
Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011Vlad Savitsky
 
Drush workshop
Drush workshopDrush workshop
Drush workshopJuampy NR
 
Drush for drupal website builder
Drush for drupal website builderDrush for drupal website builder
Drush for drupal website builderAdolfo Nasol
 
Drush in the Composer Era
Drush in the Composer EraDrush in the Composer Era
Drush in the Composer EraPantheon
 
Drush A beginners guide to a advanced tool.
Drush A beginners guide to a advanced tool.Drush A beginners guide to a advanced tool.
Drush A beginners guide to a advanced tool.Mediacurrent
 
Face your fears: Drush and Aegir
Face your fears: Drush and AegirFace your fears: Drush and Aegir
Face your fears: Drush and AegirIztok Smolic
 
Depolying Drupal with Git, Drush Make and Capistrano
Depolying Drupal with Git, Drush Make and CapistranoDepolying Drupal with Git, Drush Make and Capistrano
Depolying Drupal with Git, Drush Make and Capistranolibsys
 
Drush to simplify Drupalers work - Sivaji
Drush to simplify Drupalers work - SivajiDrush to simplify Drupalers work - Sivaji
Drush to simplify Drupalers work - SivajiDrupal Camp Delhi
 
Drupal 8 update & drush: October 2014
Drupal 8 update & drush: October 2014Drupal 8 update & drush: October 2014
Drupal 8 update & drush: October 2014Vladimir Roudakov
 
Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For TechiesRobert Carr
 
Drupal VM for Drupal 8 Dev - Drupal Camp STL 2017
Drupal VM for Drupal 8 Dev - Drupal Camp STL 2017Drupal VM for Drupal 8 Dev - Drupal Camp STL 2017
Drupal VM for Drupal 8 Dev - Drupal Camp STL 2017Jeff Geerling
 
Using Composer with Drupal and Drush
Using Composer with Drupal and DrushUsing Composer with Drupal and Drush
Using Composer with Drupal and DrushPantheon
 
Modernize Your Drupal Development
Modernize Your Drupal DevelopmentModernize Your Drupal Development
Modernize Your Drupal DevelopmentChris Tankersley
 

Similar to Drush und Multisite: drush_multi (20)

A Drush Primer - DrupalCamp Chattanooga 2013
A Drush Primer - DrupalCamp Chattanooga 2013A Drush Primer - DrupalCamp Chattanooga 2013
A Drush Primer - DrupalCamp Chattanooga 2013
 
Hong Kong Drupal User Group - Introduction of Drush
Hong Kong Drupal User Group - Introduction of DrushHong Kong Drupal User Group - Introduction of Drush
Hong Kong Drupal User Group - Introduction of Drush
 
Improving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAImproving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLA
 
Speed up Drupal development with Drush
Speed up Drupal development with DrushSpeed up Drupal development with Drush
Speed up Drupal development with Drush
 
Beginning Drush
Beginning DrushBeginning Drush
Beginning Drush
 
drush - the commandline is your friend
drush - the commandline is your frienddrush - the commandline is your friend
drush - the commandline is your friend
 
Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011
Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011
Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011
 
Drush workshop
Drush workshopDrush workshop
Drush workshop
 
Drush for drupal website builder
Drush for drupal website builderDrush for drupal website builder
Drush for drupal website builder
 
Drush in the Composer Era
Drush in the Composer EraDrush in the Composer Era
Drush in the Composer Era
 
Drush A beginners guide to a advanced tool.
Drush A beginners guide to a advanced tool.Drush A beginners guide to a advanced tool.
Drush A beginners guide to a advanced tool.
 
Face your fears: Drush and Aegir
Face your fears: Drush and AegirFace your fears: Drush and Aegir
Face your fears: Drush and Aegir
 
Depolying Drupal with Git, Drush Make and Capistrano
Depolying Drupal with Git, Drush Make and CapistranoDepolying Drupal with Git, Drush Make and Capistrano
Depolying Drupal with Git, Drush Make and Capistrano
 
Drush to simplify Drupalers work - Sivaji
Drush to simplify Drupalers work - SivajiDrush to simplify Drupalers work - Sivaji
Drush to simplify Drupalers work - Sivaji
 
Intro to Drush
Intro to DrushIntro to Drush
Intro to Drush
 
Drupal 8 update & drush: October 2014
Drupal 8 update & drush: October 2014Drupal 8 update & drush: October 2014
Drupal 8 update & drush: October 2014
 
Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For Techies
 
Drupal VM for Drupal 8 Dev - Drupal Camp STL 2017
Drupal VM for Drupal 8 Dev - Drupal Camp STL 2017Drupal VM for Drupal 8 Dev - Drupal Camp STL 2017
Drupal VM for Drupal 8 Dev - Drupal Camp STL 2017
 
Using Composer with Drupal and Drush
Using Composer with Drupal and DrushUsing Composer with Drupal and Drush
Using Composer with Drupal and Drush
 
Modernize Your Drupal Development
Modernize Your Drupal DevelopmentModernize Your Drupal Development
Modernize Your Drupal Development
 

Recently uploaded

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 

Recently uploaded (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 

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