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

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

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