WD5 - разработка сайтов

Обновление Drupal с помощью drush

При большом количестве сайтов на базе drupal становится затруднительно обновлять их в ручную, особенно если обновления ставить через ftp.

На помощь приходит мощная утилита drush автоматически обновляющая ядро и плагины всего одной командой из shell внутри папки с установленным Drupal

drush pm-update

При использовании базы данных sqlite в случае "кривого" обновления drush в домашней папке пользователя в директории drush-backups/sites/ создает резевную копию из которой можно восстановить предыдущую базу данных.

Полный список возможностей утилиты drush

Execute a drush command. Run `drush help [command]` to view command-specific
help.  Run `drush topic` to read even more documentation.

Global options (see `drush topic core-global-options` for the full list):
 -d, --debug                               Display even more information,       
                                           including internal messages.         
 -h, --help                                This help system.                    
 -ia, --interactive                        Force interactive mode for commands  
                                           run on multiple targets (e.g. `drush 
                                           @site1,@site2 cc --ia`).             
 -n, --no                                  Assume 'no' as answer to all         
 --php=                     The absolute path to your PHP        
                                           intepreter, if not 'php' in the      
 -p, --pipe                                Emit a compact representation of the 
                                           command for scripting.               
 -r , --root=                  Drupal root directory to use         
                                           (default: current directory).        
 -s, --simulate                            Simulate all relevant actions (don't 
                                           actually change the system).         
 -l <http://example.com:8888>,             URI of the drupal site to use (only  
 --uri=<http://example.com:8888>           needed in multisite environments or  
                                           when running on an alternate port).  
 -v, --verbose                             Display extra information about the  
 --version                                 Show drush version.                  
 -y, --yes                                 Assume 'yes' as answer to all        

Core drush commands: (core)
 archive-dump (ard,    Backup your code, files, and database into a single      
 archive-backup, arb)  file.                                                    
 archive-restore       Expand a site archive into a Drupal web site.            
 cache-clear (cc)      Clear a specific cache, or all drupal caches.            
 cache-get (cg)        Fetch a cached object and display it.                    
 cache-set (cs)        Cache an object expressed in JSON or var_export()        
 core-config (conf,    Edit drushrc, site alias, and Drupal settings.php files. 
 core-cron (cron)      Run all cron hooks in all active modules for specified   
 core-execute (exec,   Execute a shell command. Usually used with a site alias. 
 core-quick-drupal     Download, install, serve and login to Drupal with        
 (qd)                  minimal configuration and dependencies.                  
 core-requirements     Provides information about things that may be wrong in   
 (status-report, rq)   your Drupal installation, if any.                        
 core-rsync (rsync)    Rsync the Drupal tree to/from another server using ssh.  
 core-status (status,  Provides a birds-eye view of the current Drupal          
 st)                   installation, if any.                                    
 core-topic (topic)    Read detailed documentation on a given topic.            
 drupal-directory      Return path to a given module/theme directory.           
 help                  Print this help message. See `drush help help` for more  
 image-flush           Flush all derived images for a given style.              
 php-eval (eval, ev)   Evaluate arbitrary php code after bootstrapping Drupal   
                       (if available).                                          
 php-script (scr)      Run php script(s).                                       
 queue-list            Returns a list of all defined queues                     
 queue-run             Run a specific queue by name                             
 search-index          Index the remaining search items without wiping the      
 search-reindex        Force the search index to be rebuilt.                    
 search-status         Show how many items remain to be indexed out of the      
 self-update           Check to see if there is a newer Drush release           
 (selfupdate)          available.                                               
 shell-alias (sha)     Print all known shell alias records.                     
 site-alias (sa)       Print site alias records for all known site aliases and  
                       local sites.                                             
 site-install (si)     Install Drupal along with modules/themes/configuration   
                       using the specified install profile.                     
 site-reset            Reset a persistently set site.                           
 site-set (use)        Set a site alias to work on that will persist for the    
                       current session.                                         
 site-ssh (ssh)        Connect to a Drupal site's server via SSH for an         
                       interactive session or to run a shell command            
 test-clean            Clean temporary tables and files.                        
 test-run              Run tests. Note that you must use the --uri option.      
 updatedb (updb)       Apply any database updates required (as with running     
 usage-send (usend)    Send anonymous Drush usage information to statistics     
                       logging site.  Usage statistics contain the Drush        
                       command name and the Drush option names, but no          
                       arguments or option values.                              
 usage-show (ushow)    Show Drush usage information that has been logged but    
                       not sent.  Usage statistics contain the Drush command    
                       name and the Drush option names, but no arguments or     
                       option values.                                           
 variable-delete       Delete a variable.                                       
 variable-get (vget)   Get a list of some or all site variables and values.     
 variable-set (vset)   Set a variable.                                          
 version               Show drush version.                                      
 watchdog-delete       Delete watchdog messages.                                
 (wd-del, wd-delete)                                                            
 watchdog-list         Show available message types and severity levels. A      
 (wd-list)             prompt will ask for a choice to show watchdog messages.  
 watchdog-show         Show watchdog messages.                                  
 (wd-show, ws)                                                                  

Runserver commands: (runserver)
 runserver (rs)        Runs a lightweight built in http server for development. 

Field commands: (field)
 field-clone           Clone a field and all its instances.                     
 field-create          Create fields and instances. Returns urls for field      
 field-delete          Delete a field and its instances.                        
 field-info            View information about fields, field_types, and widgets. 
 field-update          Return URL for field editing web page.                   

Project manager commands: (pm)
 pm-disable (dis)      Disable one or more extensions (modules or themes).    
 pm-download (dl)      Download projects from drupal.org or other sources.    
 pm-enable (en)        Enable one or more extensions (modules or themes).     
 pm-info (pmi)         Show detailed info for one or more extensions (modules 
                       or themes).                                            
 pm-list (pml)         Show a list of available extensions (modules and       
 pm-refresh (rf)       Refresh update status information.                     
 pm-releasenotes       Print release notes for given projects.                
 pm-releases (rl)      Print release information for given projects.          
 pm-uninstall          Uninstall one or more modules.                         
 pm-update (up)        Update Drupal core and contrib projects and apply any  
                       pending database updates (Same as pm-updatecode +      
 pm-updatecode (upc)   Update Drupal core and contrib projects to latest      
                       recommended releases.                                  

SQL commands: (sql)
 sql-cli (sqlc)        Open a SQL command-line interface using Drupal's    
 sql-connect           A string for connecting to the DB.                  
 sql-drop              Drop all tables in a given database.                
 sql-dump              Exports the Drupal DB as SQL using mysqldump or     
 sql-query (sqlq)      Execute a query against the site database.          
 sql-sync              Copy and import source database to target database. 
                       Transfers via rsync.                                

User commands: (user)
 user-add-role (urol)  Add a role to the specified user accounts.               
 user-block (ublk)     Block the specified user(s).                             
 user-cancel (ucan)    Cancel a user account with the specified name.           
 user-create (ucrt)    Create a user account with the specified name.           
 user-information      Print information about the specified user(s).           
 user-login (uli)      Display a one time login link for the given user account 
                       (defaults to uid 1).                                     
 user-password (upwd)  (Re)Set the password for the user account with the       
                       specified name.                                          
 user-remove-role      Remove a role from the specified user accounts.          
 user-unblock (uublk)  Unblock the specified user(s).                           

Other commands: (make)
 make                  Turns a makefile into a working Drupal codebase.  
 make-generate         Generate a makefile from the current Drupal site.