Drush und Multisite: drush_multi

  • 2,191 views
Uploaded on

Präsentation auf dem DrupalCamp Vienna (dcvie), November 2009.

Präsentation auf dem DrupalCamp Vienna (dcvie), November 2009.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,191
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
16
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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