2. For whom?
• Who wants to implement current updates rapidly
• Who doesn’t like to do the same actions again and again
• Who chooses Linux hosting
• Who likes shell (drupal+shell=drush)
• And it is comfortable for local developing (deployment,
supporting, migration, backup)
3. Basic Commands
• Drush <host> status
• Drush dl <project_1> < project_2> < project_3>
• the same with drush en/dis/pm-uninstall
• Drush cc [all|menu|css-js…]
• Drush help <some_command>
• etc
4. Coworking Drush and Linux
• For example:
• drush dis pathauto && drush pm-uninstall pathauto &&
rm –rf pathauto
• drush dl omega_tools && drush en omega_tools –y
• drush pm-list | grep omega
5. New Modules - New Commands
• For example:
• drush omega-subtheme "Test theme" html5
--machine_name=test_theme && drush en test_theme -y && drush
pm-list | grep test_theme
6. Install Drupal
• Prepare database (mysql>create database
<DB_name>;)
• Use one drush command site-install (or alias si)
• drush si standard --db-
url=mysql://<DB_user>:<passwd>@<DB_host>/<DB_n
ame> --db-su=<admin> -db-su-pw=<some_password>
--site-name=‘Dev Site!’
7. Recover user’s password
or how to crack Drupal users
Use
•drush uli -l http://<somehost>
or
•drush upwd <user> --password=<password>
8. Minor Drupal Updating
7.10 to 7.14
•!Backup! Project DataBase and Files /.htaccess and robots.txt
•Move from project all custom files/folders
•Switch on update module
•drush upc / up -y
•Wait for a moment
•That’s all
•It takes you about 5 minutes
•Use the same command for contrib modules UPD
9. Major updating… faced with
• Contributed module developing (for example:
/project/photos – last update - 2009-Dec-30)
• But it needs to migrate about 150 albums and 6000
photos
• If you still hardcode (or hook) contributed modules
• Need to rewrite custom themes/modules and migration
scripts
10. Drush Updating
• /usr/local/share/drush
• cd /usr/local/share/
• drush dl drush --destination=.
• and use drush cc drush (clear drush cache)
11. qd command
• ready Drupal profile
• Sqlite issue
• Server settings (ports, proxy)
• Why to do it?
12. Alias
• $aliases['dev'] = array('root' => '/path/to/drupal',
'uri' => 'dev.mydrupalsite.com', );
• drush @dev status
• $ drush --root=/path/to/drupal
--uri=dev.mydrupalsite.com status
13. Git + cron + drush
• GitHub.com is our basic repo
• Use script files (*.sh)
• Use git command (for example: git pull) there
• Use drush command there (sql-dump or cc all)
• And cron schedule (crontab -e)
15. Drush in windows
• Windows installer from 5.x version
• To install with online connection (required pecl library)
• Additional mysql software tuning (for example drush sql-
dump)
16. Drush Hardships
• To start using it. For window’s and click-mouse funs it may be a
psychological issue
• That's not the game for share hosting
• More flexible and usable in Linux platform.
• At the beginning you need to learn a list of popular commands. U
can print it and stick to wall.
• Update modules issue in distributives (for example, OpenAtrium)
17. Conclusion
• Use open source software
• Commands shell – more health-given for your fingers =)
• It saves your time!
18. Useful links
• drush.ws - documentation
• http://igusev.ru/drupal/omega/omega-drush-subtheme-creation - use
with omega
• http://www.summasolutions.net/blogposts/implementing-drush-commands
- write your own commands
• http://civicactions.com/team/owen_barton - interesting screencasts
19. Thanks
Michael Volchek
Drupal Club (Belarus)
skype: fannrmus
twitter: mikhail_volchek