drushとdrupalコマンド

drupal8のサイトをcomposerで管理できるようにとcomposerでインストールしたため、これまでdrush8でできていたことが、drush9とdrupal consoleとcomposerを使い分けることになったようです。
そこで、よく使うdrush9とdrupal consoleコマンドを整理することにしました。
※drush9はcomposerからしかインストールできません。drush8はcomposerで管理しているサイトでは利用できない場合があります。
以下は、テスト環境で動作させた出力結果です。参考にしてください。
※コマンドによっては生のパスワードが出力される場合がありますので取り扱いには注意してください。
※drushとdrupalのコマンドにはaliasが設定されていますので、実際には短いコマンドで実行できますが、本記事ではそのままのコマンドで表記しています。

drush8コマンド

バージョンの表示

$ drush --version
 Drush Version   :  8.1.17

drupalの状態の表示

※Site URIが正しく表示されます。

$ drush status
 Drupal version                  :  7.59
 Site URI                        :  http://default
 Database driver                 :  mysql
 Database hostname               :  localhost
 Database port                   :
 Database username               :  d7admin
 Database name                   :  drupal7
 Database                        :  Connected
 Drupal bootstrap                :  Successful
 Drupal user                     :  d8user
 Default theme                   :  bartik
 Administration theme            :  seven
 PHP configuration               :  /etc/php.ini
 PHP OS                          :  Linux
 Drush script                    :  /usr/local/bin/drush
 Drush version                   :  8.1.17
 Drush temp directory            :  /tmp
 Drush configuration             :
 Drush alias files               :
 Install profile                 :  standard
 Drupal root                     :  /home/d8user/drupal7
 Drupal Settings File            :  sites/default/settings.php
 Site path                       :  sites/default
 File directory path             :  sites/default/files
 Temporary file directory path   :  /home/d8user/tmp

cronの実行

$ drush core-cron
Cron run successful.                                                                                                [success]

キャッシュ関連操作

$ drush cache-clear
Enter a number to choose which cache to clear.
 [0]   :  Cancel
 [1]   :  drush
 [2]   :  all
 [3]   :  theme-registry
 [4]   :  menu
 [5]   :  css-js
 [6]   :  block
 [7]   :  module-list
 [8]   :  theme-list
 [9]   :  registry
 [10]  :  libraries
 [11]  :  metatag
 [12]  :  token
 [13]  :  views
2
'all' cache was cleared.                                                                                            [success]

$ drush cache-clear all
'all' cache was cleared.                                                                                            [success]

コア・モジュール・テーマの管理

リスト表示

$ drush pm-list
 Package                   Name                                                           Type    Status         Version
 Administration            Actions permissions (VBO) (actions_permissions)                Module  Not installed  7.x-3.5
 Adsense                   Ads (old) (adsense_oldcode)                                    Module  Not installed  7.x-1.11
 Adsense                   AdSense Click Tracking (adsense_click)                         Module  Not installed  7.x-1.11
 Adsense                   AdSense core (adsense)                                         Module  Not installed  7.x-1.11
 Adsense                   CSE Search (adsense_cse)                                       Module  Not installed  7.x-1.11
 Adsense                   Managed ads (adsense_managed)                                  Module  Not installed  7.x-1.11
 Adsense                   Revenue sharing basic (old) (revenue_sharing_basic)            Module  Not installed  7.x-1.11
 Adsense                   Search (old) (adsense_search)                                  Module  Not installed  7.x-1.11
 Cache                     Ajax Blocks (ajaxblocks)                                       Module  Not installed  7.x-1.4
 CCK                       FileField Nginx Progress (filefield_nginx_progress)            Module  Not installed  7.x-2.3
 Chaos tool suite          Bulk Export (bulk_export)                                      Module  Not installed  7.x-1.14
 Chaos tool suite          Chaos tools (ctools)                                           Module  Enabled        7.x-1.14
 Chaos tool suite          Chaos Tools (CTools) AJAX Example (ctools_ajax_sample)         Module  Not installed  7.x-1.14
 Chaos tool suite          Chaos Tools (CTools) Plugin Example (ctools_plugin_example)    Module  Not installed  7.x-1.14
 Chaos tool suite          Custom content panes (ctools_custom_content)                   Module  Not installed  7.x-1.14
 Chaos tool suite          Custom rulesets (ctools_access_ruleset)                        Module  Not installed  7.x-1.14
 Chaos tool suite          Page manager (page_manager)                                    Module  Not installed  7.x-1.14
 Chaos tool suite          Stylizer (stylizer)                                            Module  Not installed  7.x-1.14
 Chaos tool suite          Term Depth access (term_depth)                                 Module  Not installed  7.x-1.14
 Chaos tool suite          Views content panes (views_content)                            Module  Not installed  7.x-1.14
 Charting                  Chart API (chart)                                              Module  Not installed  7.x-1.1
 Charting                  Chart API Views Integration (chart_views)                      Module  Not installed  7.x-1.1
 Charting                  Drupal System Charting (system_charts)                         Module  Not installed  7.x-1.1
 Charts                    Charts (charts)                                                Module  Not installed  7.x-2.0
 Charts                    Google Charts (charts_google)                                  Module  Not installed  7.x-2.0
 Charts                    Highcharts (charts_highcharts)                                 Module  Not installed  7.x-2.0
 Content display           Archive (archive)                                              Module  Not installed  7.x-1.3-alpha
                                                                                                                 1
 Core                      Aggregator (aggregator)                                        Module  Not installed  7.59
 Core                      Block (block)                                                  Module  Enabled        7.59
 Core                      Blog (blog)                                                    Module  Enabled        7.59
 Core                      Book (book)                                                    Module  Enabled        7.59
 Core                      Color (color)                                                  Module  Not installed  7.59
 Core                      Comment (comment)                                              Module  Enabled        7.59
 Core                      Contact (contact)                                              Module  Not installed  7.59
 Core                      Content translation (translation)                              Module  Not installed  7.59
 Core                      Contextual links (contextual)                                  Module  Enabled        7.59
 Core                      Dashboard (dashboard)                                          Module  Not installed  7.59
 Core                      Database logging (dblog)                                       Module  Not installed  7.59
 Core                      Field (field)                                                  Module  Enabled        7.59
 Core                      Field SQL storage (field_sql_storage)                          Module  Enabled        7.59
 Core                      Field UI (field_ui)                                            Module  Enabled        7.59
 Core                      File (file)                                                    Module  Enabled        7.59
 Core                      Filter (filter)                                                Module  Enabled        7.59
 Core                      Forum (forum)                                                  Module  Not installed  7.59
 Core                      Help (help)                                                    Module  Not installed  7.59
 Core                      Image (image)                                                  Module  Enabled        7.59
 Core                      List (list)                                                    Module  Enabled        7.59
 Core                      Locale (locale)                                                Module  Enabled        7.59
 Core                      Menu (menu)                                                    Module  Enabled        7.59
 Core                      Node (node)                                                    Module  Enabled        7.59
 Core                      Number (number)                                                Module  Enabled        7.59
 Core                      OpenID (openid)                                                Module  Not installed  7.59
 Core                      Options (options)                                              Module  Enabled        7.59
 Core                      Overlay (overlay)                                              Module  Not installed  7.59
 Core                      Path (path)                                                    Module  Enabled        7.59
 Core                      PHP filter (php)                                               Module  Not installed  7.59
 Core                      Poll (poll)                                                    Module  Not installed  7.59
 Core                      RDF (rdf)                                                      Module  Not installed  7.59
 Core                      Search (search)                                                Module  Not installed  7.59
 Core                      Shortcut (shortcut)                                            Module  Enabled        7.59
 Core                      Statistics (statistics)                                        Module  Enabled        7.59
 Core                      Syslog (syslog)                                                Module  Not installed  7.59
 Core                      System (system)                                                Module  Enabled        7.59
 Core                      Taxonomy (taxonomy)                                            Module  Enabled        7.59
 Core                      Testing (simpletest)                                           Module  Not installed  7.59
 Core                      Text (text)                                                    Module  Enabled        7.59
 Core                      Toolbar (toolbar)                                              Module  Enabled        7.59
 Core                      Tracker (tracker)                                              Module  Enabled        7.59
 Core                      Trigger (trigger)                                              Module  Not installed  7.59
 Core                      Update manager (update)                                        Module  Enabled        7.59
 Core                      User (user)                                                    Module  Enabled        7.59
 Date/Time                 Calendar (calendar)                                            Module  Enabled        7.x-3.5
 Date/Time                 Date (date)                                                    Module  Enabled        7.x-2.10
 Date/Time                 Date All Day (date_all_day)                                    Module  Enabled        7.x-2.10
 Date/Time                 Date API (date_api)                                            Module  Enabled        7.x-2.10
 Date/Time                 Date Context (date_context)                                    Module  Not installed  7.x-2.10
 Date/Time                 Date Popup (date_popup)                                        Module  Not installed  7.x-2.10
 Date/Time                 Date Repeat API (date_repeat)                                  Module  Not installed  7.x-2.10
 Date/Time                 Date Repeat Field (date_repeat_field)                          Module  Not installed  7.x-2.10
 Date/Time                 Date Tools (date_tools)                                        Module  Enabled        7.x-2.10
 Date/Time                 Date Views (date_views)                                        Module  Enabled        7.x-2.10
 Development               Metatag: Devel (metatag_devel)                                 Module  Not installed  7.x-1.25
 Features                  Date Migration Example (date_migrate_example)                  Module  Not installed  7.x-2.10
 Fields                    Entity Reference (entityreference)                             Module  Enabled        7.x-1.5
 Fields                    Entity Reference Behavior Example                              Module  Not installed  7.x-1.5
                           (entityreference_behavior_example)
 Image                     Imagecache Token (imagecache_token)                            Module  Enabled        7.x-1.0-rc2
 Input filters             Video Filter (video_filter)                                    Module  Not installed  7.x-3.4
 Media                     File Entity (file_entity)                                      Module  Enabled        7.x-2.21
 Multilingual              Localization update (l10n_update)                              Module  Enabled        7.x-1.1
 Other                     AddToAny (addtoany)                                            Module  Enabled        7.x-4.14
 Other                     Autocomplete Unblock (autocomplete_unblock)                    Module  Enabled        7.x-1.x-dev
 Other                     Better Formats (better_formats)                                Module  Not installed  7.x-1.0-beta2
 Other                     CKEditor Custom (ckeditor_custom)                              Module  Enabled
 Other                     Colorbox (colorbox)                                            Module  Enabled        7.x-2.13
 Other                     Entity API (entity)                                            Module  Enabled        7.x-1.9
 Other                     Entity tokens (entity_token)                                   Module  Enabled        7.x-1.9
 Other                     FastClick (fastclick)                                          Module  Enabled        7.x-1.5
 Other                     Field tokens (field_tokens)                                    Module  Enabled        7.x-1.4
 Other                     File MIME (filemime)                                           Module  Enabled        7.x-1.1
 Other                     Flippy (flippy)                                                Module  Enabled        7.x-1.5
 Other                     Git Deploy (git_deploy)                                        Module  Enabled        7.x-2.2+5-dev
 Other                     Insert (insert)                                                Module  Enabled        7.x-1.4
 Other                     JW Player (jw_player)                                          Module  Not installed  7.x-2.0-beta2
 Other                     JW Player Poster (jw_player_poster)                            Module  Not installed  CUSTOM
 Other                     Libraries (libraries)                                          Module  Enabled        7.x-2.3
 Other                     Link checker (linkchecker)                                     Module  Enabled        7.x-1.3
 Other                     Menu Block (menu_block)                                        Module  Not installed  7.x-2.7
 Other                     Menu Block Export (menu_block_export)                          Module  Not installed  7.x-2.7
 Other                     mmenu_custom (mmenu_custom)                                    Module  Enabled        7.x-1.0
 Other                     Pathauto (pathauto)                                            Module  Enabled        7.x-1.3
 Other                     Redirect (redirect)                                            Module  Enabled        7.x-1.0-rc3
 Other                     robots.txt (robotstxt)                                         Module  Enabled        7.x-1.4
 Other                     Search 404 (search404)                                         Module  Enabled        7.x-1.6
 Other                     Syntax highlighter (syntaxhighlighter)                         Module  Enabled        7.x-2.0
 Other                     Token (token)                                                  Module  Enabled        7.x-1.7
 Other                     Token Filter (token_filter)                                    Module  Enabled        7.x-1.1
 Performance               Missing Module (missing_module)                                Module  Enabled        7.x-1.2
 Performance and           Memcache (memcache)                                            Module  Not installed  7.x-1.6
 scalability
 Performance and           Memcache Admin (memcache_admin)                                Module  Not installed  7.x-1.6
 scalability
 Performance and           Memcache Storage (memcache_storage)                            Module  Not installed  7.x-1.4
 scalability
 Security                  HTTP Strict Transport Security (hsts)                          Module  Not installed  7.x-1.2
 SEO                       Metatag (metatag)                                              Module  Enabled        7.x-1.25
 SEO                       Metatag Importer (metatag_importer)                            Module  Not installed  7.x-1.25
 SEO                       Metatag: App Links (metatag_app_links)                         Module  Not installed  7.x-1.25
 SEO                       Metatag: Context (metatag_context)                             Module  Not installed  7.x-1.25
 SEO                       Metatag: Dublin Core (metatag_dc)                              Module  Not installed  7.x-1.25
 SEO                       Metatag: Dublin Core Advanced (metatag_dc_advanced)            Module  Not installed  7.x-1.25
 SEO                       Metatag: Facebook (metatag_facebook)                           Module  Not installed  7.x-1.25
 SEO                       Metatag: favicons (metatag_favicons)                           Module  Not installed  7.x-1.25
 SEO                       Metatag: Google Custom Search Engine (CSE)                     Module  Not installed  7.x-1.25
                           (metatag_google_cse)
 SEO                       Metatag: Google+ (metatag_google_plus)                         Module  Not installed  7.x-1.25
 SEO                       Metatag: hreflang (metatag_hreflang)                           Module  Not installed  7.x-1.25
 SEO                       Metatag: Mobile & UI Adjustments (metatag_mobile)              Module  Not installed  7.x-1.25
 SEO                       Metatag: OpenGraph (metatag_opengraph)                         Module  Not installed  7.x-1.25
 SEO                       Metatag: OpenGraph Products (metatag_opengraph_products)       Module  Not installed  7.x-1.25
 SEO                       Metatag: Panels (metatag_panels)                               Module  Not installed  7.x-1.25
 SEO                       Metatag: Twitter Cards (metatag_twitter_cards)                 Module  Not installed  7.x-1.25
 SEO                       Metatag: Verification (metatag_verification)                   Module  Not installed  7.x-1.25
 SEO                       Metatag: Views (metatag_views)                                 Module  Not installed  7.x-1.25
 Statistics                Counter (counter)                                              Module  Enabled        7.x-1.0-beta3
 Statistics                Google Analytics (googleanalytics)                             Module  Not installed  7.x-2.4
 Statistics                Google Analytics Reports (google_analytics_reports)            Module  Not installed  7.x-3.1
 Statistics                Google Analytics Reports API (google_analytics_reports_api)    Module  Not installed  7.x-3.1
 Statistics                Statistics Counter (statistics_counter)                        Module  Enabled        7.x-1.4
 Statistics                Statistics Filter (statistics_filter)                          Module  Enabled        7.x-1.2
 Syntaxhighlighter insert  Syntaxhighlighter Insert (syntaxhighlighter_insert)            Module  Enabled        7.x-1.1+4-dev
 Syntaxhighlighter insert  Syntaxhighlighter Insert Text (syntaxhighlighter_insert_text)  Module  Enabled        7.x-1.1+4-dev
 Syntaxhighlighter insert  Syntaxhighlighter Insert WYSIWYG                               Module  Enabled        7.x-1.1+4-dev
                           (syntaxhighlighter_insert_wysiwyg)
 Taxonomy menu             Taxonomy menu (taxonomy_menu)                                  Module  Not installed  7.x-1.5
 User interface            External Links (extlink)                                       Module  Enabled        7.x-1.20
 User interface            jQuery plugins (jquery_plugin)                                 Module  Enabled        7.x-1.0
 User interface            jQuery Update (jquery_update)                                  Module  Enabled        7.x-2.7
 User interface            Wysiwyg (wysiwyg)                                              Module  Enabled        7.x-2.5
 Views                     Views (views)                                                  Module  Enabled        7.x-3.20
 Views                     Views Bulk Operations (views_bulk_operations)                  Module  Not installed  7.x-3.5
 Views                     Views Data Export (views_data_export)                          Module  Not installed  7.x-3.2
 Views                     Views RSS (views_rss)                                          Module  Not installed  7.x-2.0-rc4
 Views                     Views RSS: Core Elements (views_rss_core)                      Module  Not installed  7.x-2.0-rc4
 Views                     Views RSS: DC Elements (views_rss_dc)                          Module  Not installed  7.x-2.0-rc4
 Views                     Views Slideshow (views_slideshow)                              Module  Enabled        7.x-3.9
 Views                     Views Slideshow Simple Pager (views_slideshow_simple_pager)    Module  Enabled        7.x-3.9
 Views                     Views Slideshow: Cycle (views_slideshow_cycle)                 Module  Enabled        7.x-3.9
 Views                     Views UI (views_ui)                                            Module  Enabled        7.x-3.20
 XML sitemap               XML sitemap (xmlsitemap)                                       Module  Not installed  7.x-2.3
 XML sitemap               XML sitemap custom (xmlsitemap_custom)                         Module  Not installed  7.x-2.3
 XML sitemap               XML sitemap engines (xmlsitemap_engines)                       Module  Not installed  7.x-2.3
 XML sitemap               XML sitemap internationalization (xmlsitemap_i18n)             Module  Not installed  7.x-2.3
 XML sitemap               XML sitemap menu (xmlsitemap_menu)                             Module  Not installed  7.x-2.3
 XML sitemap               XML sitemap node (xmlsitemap_node)                             Module  Not installed  7.x-2.3
 XML sitemap               XML sitemap taxonomy (xmlsitemap_taxonomy)                     Module  Not installed  7.x-2.3
 XML sitemap               XML sitemap user (xmlsitemap_user)                             Module  Not installed  7.x-2.3
 Core                      Bartik (bartik)                                                Theme   Enabled        7.59
 Core                      Garland (garland)                                              Theme   Disabled       7.59
 Core                      Seven (seven)                                                  Theme   Enabled        7.59
 Core                      Stark (stark)                                                  Theme   Disabled       7.59
 その他                    AT Admin (adaptivetheme_admin)                                 Theme   Disabled       7.x-3.4
 その他                    AT Core (adaptivetheme)                                        Theme   Disabled       7.x-3.4
 その他                    AT Subtheme (adaptivetheme_subtheme)                           Theme   Disabled       7.x-3.4
 その他                    phoenix (phoenix)                                              Theme   Enabled        7.x-3.4

ダウンロードと有効化

次の例はCAPTCHAモジュールをダウンロードと有効化まで行います。

$ drush -y pm-enable captcha
captcha was not found.                                                                                              [warning]
The following projects provide some or all of the extensions not found:                                             [ok]
captcha
Would you like to download them? (y/n): y
Project captcha (7.x-1.5) downloaded to /home/d8user/drupal/sites/all/modules/captcha.                               [success]
Project captcha contains 2 modules: image_captcha, captcha.
The following extensions will be enabled: captcha
Do you really want to continue? (y/n): y
captcha was enabled successfully.                                                                                   [ok]
captcha defines the following permissions: administer CAPTCHA settings, skip CAPTCHA
ただちにサイト用のCAPTCHAモジュールの設定を行えます。                                        [status]
Note that the CAPTCHA module disables page caching of pages that include a CAPTCHA challenge.                       [warning]

モジュールの無効化

不要になったモジュールなどを無効にする場合に実行します。
アンインストールをいきなり実行しても無効化していないモジュールはアンインストールができません。
要件になっているモジュールを無効化する際には無効化が必要なモジュールすべてのリストが表示され一緒に無効化が可能です。

$ drush pm-disable captcha
The following extensions will be disabled: captcha
Do you really want to continue? (y/n): y
captcha was disabled successfully.                                                                                  [ok]

アンインストール

$ drush pm-uninstall captcha
The following modules will be uninstalled: captcha
Do you really want to continue? (y/n): y
captcha was successfully uninstalled.                                                                               [ok]

※アンインストールを実行してもモジュール自体は削除されていませんので、リストを表示するとdisableで表示されます。
削除する場合は、

アップデート

アップデート情報の確認

次のコマンドでコア、テーマ、モジュールすべてのアップデート情報が表示されます。

$ drush pm-updatestatus
利用可能なアップデートを確認中...                                                                    [ok]
Checking available update data for Drupal.                                                                          [ok]
Checking available update data for AddToAny (addtoany).                                                             [ok]
Checking available update data for Autocomplete Unblock (2821464).                                                  [ok]
No release history was found for the requested project (2821464).                                                   [error]
Checking available update data for Chaos tools (ctools).                                                            [ok]
Checking available update data for Calendar (calendar).                                                             [ok]
Checking available update data for CAPTCHA (captcha).                                                               [ok]
Checking available update data for Colorbox (colorbox).                                                             [ok]
Checking available update data for Counter (counter).                                                               [ok]
Checking available update data for Date (date).                                                                     [ok]
Checking available update data for Entity API (entity).                                                             [ok]
Checking available update data for Entity Reference (entityreference).                                              [ok]
Checking available update data for External Links (extlink).                                                        [ok]
Checking available update data for FastClick (fastclick).                                                           [ok]
Checking available update data for Field tokens (field_tokens).                                                     [ok]
Checking available update data for File Entity (file_entity).                                                       [ok]
Checking available update data for File MIME (filemime).                                                            [ok]
Checking available update data for Flippy (flippy).                                                                 [ok]
Checking available update data for Git Deploy (git_deploy).                                                         [ok]
Checking available update data for Imagecache Token (imagecache_token).                                             [ok]
Checking available update data for Insert (insert).                                                                 [ok]
Checking available update data for jQuery plugins (jquery_plugin).                                                  [ok]
Checking available update data for jQuery Update (jquery_update).                                                   [ok]
Checking available update data for Localization update (l10n_update).                                               [ok]
Checking available update data for Libraries (libraries).                                                           [ok]
Checking available update data for Link checker (linkchecker).                                                      [ok]
Checking available update data for Metatag (metatag).                                                               [ok]
Checking available update data for Missing Module (missing_module).                                                 [ok]
Checking available update data for Pathauto (pathauto).                                                             [ok]
Checking available update data for Redirect (redirect).                                                             [ok]
Checking available update data for robots.txt (robotstxt).                                                          [ok]
Checking available update data for Search 404 (search404).                                                          [ok]
Checking available update data for Statistics Counter (statistics_counter).                                         [ok]
Checking available update data for Statistics Filter (statistics_filter).                                           [ok]
Checking available update data for Syntax highlighter (syntaxhighlighter).                                          [ok]
Checking available update data for Syntaxhighlighter Insert (syntaxhighlighter_insert).                             [ok]
Checking available update data for Token (token).                                                                   [ok]
Checking available update data for Token Filter (token_filter).                                                     [ok]
Checking available update data for Views (views).                                                                   [ok]
Checking available update data for Views Slideshow (views_slideshow).                                               [ok]
Checking available update data for Wysiwyg (wysiwyg).                                                               [ok]

特に本番稼働のサイトでは、アップデート状況の確認を行ったのち、適切な準備を行いアップデートを実施するべきです。
コアのアップデートの操作手順を記載しておきます。
 

バックアップ(ディレクトリ+データベース)

※バックアップはDrush TMPのパスに作成されますので、事前に十分な空き容量があることを確認しておいてください。

$ drush archive-dump
Database dump saved to /tmp/drush_tmp_1530532490_5b3a128a38062/drupal_phoenix.sql                                   [success]
Archive saved to /home/d8user/drush-backups/archive-dump/20180702114609/drupal_phoenix.20180702_114610.tar.gz        [ok]
/home/d8user/drush-backups/archive-dump/20180702114609/drupal_phoenix.20180702_114610.tar.gz

$  tar ztvf drupal_phoenix.20180702_114610.tar.gz | grep drupal_phoenix.sql
-rw-rw-r-- d8user/webadmin     25901049 2018-07-02 20:54 drupal_phoenix.sql

バックアップファイルにデータベースとディレクトリの両方がまとめて格納されています。

メンテナンスモードをON

メンテナンス作業中は、メンテナンスモード時にアクセス件のあるユーザだけがアクセス可能になります。

drupal8
$ drush state-set system.maintenance_mode 1

drupal7
$ drush  variable-set maintenance_mode 1
maintenance_mode was set to 1.                                                                                      [success]

すべてのキャッシュをクリア

$ drush cache-clear all

アップデートの実施

すべてを一斉にアップデートする場合

$ drush pm-update

コアのみアップデートする場合

$ drush pm-update drupal

モジュール(テーマ)ごとアップデートする場合

$ drush pm-update captcha

セキュリティアップデートのみアップデートする場合

$ drush pm-update --security-only

データベースのアップデート

$ drush updatedb

メンテナンスモードをOFF

$ drush state-set system.maintenance_mode 0

すべてのキャッシュのクリア

$ drush cache-clear all

以上でdrush8は終わりです。
アップデート操作で使うコマンドが普段もよく使うコマンドだと思います。

drush9コマンド

バージョンの表示

$ drush --version
Drush Commandline Tool 9.3.0

drupalの状態の表示

※Site URIは正しいサイトのURIが表示されません。現在の仕様です。

$ drush status
 Drupal version   : 8.5.4
 Site URI         : http://example.com/subdir
 DB driver        : mysql
 DB hostname      : localhost
 DB port          : 3306
 DB username      : d8admin
 DB name          : drupal8
 Database         : Connected
 Drupal bootstrap : Successful
 Default theme    : bartik
 Admin theme      : seven
 PHP binary       : /usr/bin/php
 PHP config       : /etc/php.ini
 PHP OS           : Linux
 Drush script     : /home/d8user/drupal8/vendor/bin/drush
 Drush version    : 9.3.0
 Drush temp       : /tmp
 Drush configs    : /home/d8user/.drush/drush.yml
                    /home/d8user/drupal8/vendor/drush/drush/drush.yml
                    /home/d8user/drupal8/drush/drush.yml
 Install profile  : standard
 Drupal root      : /home/d8user/drupal8/web
 Site path        : sites/default
 Files, Public    : sites/default/files
 Files, Temp      : /tmp

cronの実行

$ drush core:cron
 [notice] Starting execution of comment_cron().
 [notice] Starting execution of dblog_cron(), execution of comment_cron() took 173.25ms.
 [notice] Starting execution of field_cron(), execution of dblog_cron() took 7.93ms.
 [notice] Starting execution of file_cron(), execution of field_cron() took 11.86ms.
 [notice] Starting execution of history_cron(), execution of file_cron() took 176.93ms.
 [notice] Starting execution of locale_cron(), execution of history_cron() took 2.61ms.
 [notice] Starting execution of node_cron(), execution of locale_cron() took 4.68ms.
 [notice] Starting execution of search_cron(), execution of node_cron() took 84.12ms.
 [notice] Starting execution of statistics_cron(), execution of search_cron() took 45.54ms.
 [notice] Starting execution of system_cron(), execution of statistics_cron() took 171.48ms.
 [notice] Starting execution of tracker_cron(), execution of system_cron() took 214.17ms.
 [notice] Starting execution of update_cron(), execution of tracker_cron() took 2.72ms.
 [notice] Execution of update_cron() took 4657.56ms.
 [notice] Cron run completed.

キャッシュ関連操作

$ drush cache:clear

 Choose a cache to clear:
  [0] Cancel
  [1] drush
  [2] theme-registry
  [3] router
  [4] css-js
  [5] render
  [6] views
 > 1

 [success] 'drush' cache was cleared.

$ drush cache:clear all
 [error]  `cache-clear all` is deprecated for Drupal 8 and later. Please use the `cache-rebuild` command instead.


$ drush cache-rebuild
 [success] Cache rebuild complete.

コア・モジュール・テーマの管理

リスト表示

$ drush pm:list
 --------------------------------- --------------------------------------------------------- ---------- ----------------
  Package                           Name                                                      Status     Version
 --------------------------------- --------------------------------------------------------- ---------- ----------------
  Core                              Actions (action)                                          Disabled   8.5.4
  Core                              Aggregator (aggregator)                                   Disabled   8.5.4
  Core                              Automated Cron (automated_cron)                           Enabled    8.5.4
  Core                              Ban (ban)                                                 Disabled   8.5.4
  Web services                      HTTP Basic Authentication (basic_auth)                    Disabled   8.5.4
  Core                              BigPipe (big_pipe)                                        Enabled    8.5.4
  Core                              Block (block)                                             Enabled    8.5.4
  Core                              Custom Block (block_content)                              Enabled    8.5.4
  Core (Experimental)               Place Blocks (block_place)                                Disabled   8.5.4
  Core                              Book (book)                                               Enabled    8.5.4
  Core                              Breakpoint (breakpoint)                                   Enabled    8.5.4
  Date/Time                         Calendar (calendar)                                       Enabled
  Date/Time                         Calendar Datetime (calendar_datetime)                     Enabled
  Spam control                      CAPTCHA (captcha)                                         Disabled   8.x-1.0-beta1
  Core                              CKEditor (ckeditor)                                       Enabled    8.5.4
  Core                              Color (color)                                             Enabled    8.5.4
  Core                              Comment (comment)                                         Enabled    8.5.4
  Core                              Configuration Manager (config)                            Enabled    8.5.4
  Multilingual                      Configuration Translation (config_translation)            Disabled   8.5.4
  Core                              Contact (contact)                                         Enabled    8.5.4
  Core                              Content Moderation (content_moderation)                   Disabled   8.5.4
  Multilingual                      Content Translation (content_translation)                 Disabled   8.5.4
  Core                              Contextual Links (contextual)                             Enabled    8.5.4
  Chaos tool suite                  Chaos tools (ctools)                                      Enabled    8.x-3.0
  Chaos tool suite (Experimental)   Chaos tools blocks (ctools_block)                         Disabled   8.x-3.0
  Chaos tool suite (Experimental)   Chaos tools Views (ctools_views)                          Disabled   8.x-3.0
  Field types                       Datetime (datetime)                                       Enabled    8.5.4
  Field types                       Datetime Range (datetime_range)                           Disabled   8.5.4
  Core                              Database Logging (dblog)                                  Enabled    8.5.4
  Media                             dropzonejs (dropzonejs)                                   Enabled    8.x-2.0-alpha3
  Media                             DropzoneJS entity browser widget (dropzonejs_eb_widget)   Enabled    8.x-2.0-alpha3
  Core                              Internal Dynamic Page Cache (dynamic_page_cache)          Enabled    8.5.4
  Core                              Text Editor (editor)                                      Enabled    8.5.4
  Other                             Embed (embed)                                             Enabled    8.x-1.0
  Media                             Entity Browser (entity_browser)                           Enabled    8.x-2.0-alpha3
  Media                             Entity Browser IEF (entity_browser_entity_form)           Disabled   8.x-2.0-alpha3
  Media                             Entity Browser example (entity_browser_example)           Disabled   8.x-2.0-alpha3
  Filters                           Entity Embed (entity_embed)                               Enabled    8.x-1.0-beta2
  Field types                       Entity Reference (entity_reference)                       Disabled   8.5.4
  Core                              Field (field)                                             Enabled    8.5.4
  Other                             Field formatter (field_formatter)                         Enabled    8.x-1.1
  Core (Experimental)               Field Layout (field_layout)                               Disabled   8.5.4
  Core                              Field UI (field_ui)                                       Enabled    8.5.4
  Field types                       File (file)                                               Enabled    8.5.4
  Other                             File Browser (file_browser)                               Enabled    8.x-1.1
  Other                             File Browser Example (file_browser_example)               Disabled   8.x-1.1
  Media                             File entity (file_entity)                                 Enabled    8.x-2.0-beta6
  Core                              Filter (filter)                                           Enabled    8.5.4
  Core                              Forum (forum)                                             Disabled   8.5.4
  Web services                      HAL (hal)                                                 Disabled   8.5.4
  Core                              Help (help)                                               Enabled    8.5.4
  Core                              History (history)                                         Enabled    8.5.4
  Field types                       Image (image)                                             Enabled    8.5.4
  Spam control                      Image CAPTCHA (image_captcha)                             Disabled   8.x-1.0-beta1
  Core                              Inline Form Errors (inline_form_errors)                   Disabled   8.5.4
  Multilingual                      Language (language)                                       Enabled    8.5.4
  Core (Experimental)               Layout Builder (layout_builder)                           Disabled   8.5.4
  Core                              Layout Discovery (layout_discovery)                       Disabled   8.5.4
  Other                             Libraries (libraries)                                     Enabled    8.x-3.0-alpha1
  Field types                       Link (link)                                               Enabled    8.5.4
  Multilingual                      Interface Translation (locale)                            Enabled    8.5.4
  Core                              Media (media)                                             Enabled    8.5.4
  Core                              Custom Menu Links (menu_link_content)                     Enabled    8.5.4
  Core                              Menu UI (menu_ui)                                         Enabled    8.5.4
  Migration                         Migrate (migrate)                                         Disabled   8.5.4
  Core (Experimental)               Migrate Drupal (migrate_drupal)                           Disabled   8.5.4
  Core (Experimental)               Migrate Drupal UI (migrate_drupal_ui)                     Disabled   8.5.4
  Core                              Node (node)                                               Enabled    8.5.4
  Field types                       Options (options)                                         Enabled    8.5.4
  Core                              Internal Page Cache (page_cache)                          Enabled    8.5.4
  Core                              Path (path)                                               Enabled    8.5.4
  Core                              Quick Edit (quickedit)                                    Enabled    8.5.4
  Core                              RDF (rdf)                                                 Enabled    8.5.4
  Core                              Responsive Image (responsive_image)                       Enabled    8.5.4
  Web services                      RESTful Web Services (rest)                               Disabled   8.5.4
  Core                              Search (search)                                           Enabled    8.5.4
  Web services                      Serialization (serialization)                             Disabled   8.5.4
  Core                              Settings Tray (settings_tray)                             Disabled   8.5.4
  Core                              Shortcut (shortcut)                                       Enabled    8.5.4
  Core                              Testing (simpletest)                                      Disabled   8.5.4
  Core                              Statistics (statistics)                                   Enabled    8.5.4
  Core                              Syslog (syslog)                                           Enabled    8.5.4
  Core                              System (system)                                           Enabled    8.5.4
  Core                              Taxonomy (taxonomy)                                       Enabled    8.5.4
  Field types                       Telephone (telephone)                                     Disabled   8.5.4
  Field types                       Text (text)                                               Enabled    8.5.4
  Other                             Token (token)                                             Enabled    8.x-1.3
  Core                              Toolbar (toolbar)                                         Enabled    8.5.4
  Core                              Tour (tour)                                               Enabled    8.5.4
  Core                              Activity Tracker (tracker)                                Enabled    8.5.4
  Core                              Update Manager (update)                                   Enabled    8.5.4
  Core                              User (user)                                               Enabled    8.5.4
  Core                              Views (views)                                             Enabled    8.5.4
  Views                             Views templates (views_templates)                         Enabled    8.x-1.0-alpha1
  Core                              Views UI (views_ui)                                       Enabled    8.5.4
  Core                              Workflows (workflows)                                     Disabled   8.5.4
  Core                              Bartik (bartik)                                           Enabled    8.5.4
  Core                              Classy (classy)                                           Enabled    8.5.4
  Core                              Seven (seven)                                             Enabled    8.5.4
  Core                              Stable (stable)                                           Enabled    8.5.4
  Core                              Stark (stark)                                             Disabled   8.5.4
 --------------------------------- --------------------------------------------------------- ---------- ----------------

ダウンロード

例ではcaptchaモジュールをプロジェクトへダウンロード(インストール)しています。
※drush8のように1つのコマンドで有効化まではできません。

$ composer require drupal/captcha
Using version ^1.0@beta for drupal/captcha
./composer.json has been updated
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing drupal/captcha (1.0.0-beta1): Downloading (100%)
Writing lock file
Generating autoload files
> DrupalProject\composer\ScriptHandler::createRequiredFiles

有効化

例ではcaptchaモジュールを有効化しています。

$ drush pm:enable captcha
 [ok] captcha の翻訳を確認しました。
 [ok] captcha の翻訳をダウンロードしました。
 [ok] captchaに翻訳をインポートしました。
 [notice] Translations imported: 0 added, 113 updated, 0 removed.
 [notice] Message: 1 個の翻訳ファイルをインポートしました。/0/
個の翻訳を追加し、/113/ 個の翻訳を更新、/0/
個の翻訳を削除しました。

Array   Array   Array
 [success] Successfully enabled: captcha

無効化とアンインストール

drush9では無効化というのはありません。
drush8でいうアンインストールになります。

$ drush pm:uninstall captcha
 [success] Successfully uninstalled: captcha

※アンインストールしたモジュールはリスト表示にdisableと表示されます。

削除

captchaモジュールの削除(プロジェクトからのアンインストール)

$ composer remove drupal/captcha
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Dependency "drupal/core" is also a root requirement, but is not explicitly whitelisted. Ignoring.
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 0 updates, 1 removal
  - Removing drupal/captcha (1.0.0-beta1)
Deleting web/modules/contrib/captcha - deleted
Writing lock file
Generating autoload files
> DrupalProject\composer\ScriptHandler::createRequiredFiles

※drushコマンドでアンインストールしていなくても削除できます。また、依存関係にあるモジュールも一緒に削除される可能性があります。対話型で再確認はありませんので、削除は十分に注意してください。

アップデート

drush9ではcomposerにて管理していますので、まず、composer自体が最新である必要があります。

$ composer self-update
You are already using composer version 1.6.5 (stable channel).

モジュール情報の確認

drush9では、pm-update、pm-updatecode、pm-updatestatusがなくなりました。
composerで管理しているため、最新版や依存関係の表示はcomposerを使うことになります。

次の例では、事前にcaptchaの1つ前のバージョン(1.0-alpha1)をインストールしたのち最新版の状態をチェックした結果です。

$ composer outdated drupal/*
drupal/captcha 1.0.0-alpha1 1.0.0-beta1 The CAPTCHA module provides this feature to virtually any user facing web form on a...

バックアップ

データベースのバックアップ
$ drush sql:dump > drupal8.sql
ディレクトリのバックアップ

ディレクトリのバックアップ用のdrushコマンドがないので一般的なtarコマンドやzipコマンドでバックアップを取得することになります。
次の例では、zipコマンドでディレクトリをバックアップしています。

$ zip -r drupal8.zip ./drupal8

メンテナンスモードをON

$ drush state:set system.maintenance_mode 1

すべてのキャッシュをクリア

$ drush cache:rebuild
 [success] Cache rebuild complete.

アップデートの実施

コアのみアップデートする場合

$ composer update drupal/core  --with-dependencies

Optional
$ composer update symfony/* --with-dependencies

Optional
$ composer update drupal/core webflo/drupal-core-require-dev --with-dependencies

composerで管理しているため、コアとsymfony、コアとwebfloも依存関係があります。
composerで初めてdrupal8のプロジェクトを作成した時を思い出していただけるとわかりますが、コアの前にsymfonyを導入していたと思います。
コアだけアップデートしようとしても、他のパッケージとの依存関係でアップデートできない可能性があります。
コアのアップデートの前にこれらをアップデートするとうまくいく場合もあるということで、Optionalで表記してあります。

モジュール(テーマ)をアップデートする場合

$ composer update drupal/captcha  --with-dependencies

Optional
$ composer require drupal/captcha:1.0-beta1

updateでうまく更新されない場合、requireでバージョン指定をすればアップデートされます。

セキュリティアップデートのみ確認する場合

$ drush pm:security
 [success] There are no outstanding security updates for Drupal projects.

セキュリティアップデートがあるかどうかを確認するだけのコマンドですので、アップデートはcomposerコマンドで行います。

データベースのアップデート

$ drush updatedb
[success] No database updates required.

メンテナンスモードをOFF

$ drush state:set system.maintenance_mode 0

すべてのキャッシュのクリア

$ drush cache:rebuild
 [success] Cache rebuild complete.

以上でdrupal9のコマンドの説明になります。

drush8とdrush9を単純に比較するとdrush8のほうが便利に思います。
次のdrupal consoleを使用すると結果はまた少し変わるかもしれません。

drupalコマンド

drupalコマンドは、サイトの管理画面から行う操作をCLIにしたイメージですので、composerで管理しているのであればモジュールのインストールなどはcomposerで行った方がよいのだと思います。
drush9を使っている場合は、drush8からなくなっているコマンドがdrupalコマンドにあったりもするのでうまく使い分ければ便利かもしれません。

バージョンの表示

$ drupal --version
Drupal Console version 1.8.0 

drupalの状態の表示

drushコマンドの出力とはことなり、サイトの状態の出力に近いと思います。

$ drupal site:status

 System Info
 Drupal                           8.5.4
 cron メンテナンス タスク         前回の実行 1日 2時間前
 Drupalコアの更新状況             更新データがありません
 GD ライブラリーの PNG サポート   2.2.5
 GDライブラリー                   2.2.5
 PHP                              7.1.17 (もっと詳しく)
 PHP OPcodeのキャッシング         有効
 PHP メモリ制限                   256M
 PHP拡張                          有効
 Unicode ライブラリー             PHP マルチバイト文字列 (mbstring) 拡張
 update.php へのアクセス          保護されています
 アップロード進捗状況             無効
 ウェブサーバー
 エンティティー・フィールド定義   最新
 データベースシステムのバージョン 5.5.5-10.2.14-MariaDB-log
 データベース更新                 最新
 データベース/システム           MySQL, MariaDB, Percona Server または同等のもの
 ノードアクセス権限               無効
 ファイルシステム                 書き込み可能 (公開されたダウンロード方法)
 乱数生成                         成功
 信頼の置けるホストの設定         無効
 更新の通知                       有効
 検索インデックスの進捗状況       100% (残り 0)
 構成ファイル                     保護されています
 画像ツールキット                 gd
 翻訳の更新の状態                 最新
 Hash salt                        省略
 Drupal Console                   1.8.0

 Database connection
 Driver              mysql
 Host                localhost
 Database connection drupal8
 Port                3306
 Username            d8admin
 Connection          mysql//d8admin:Xsw23edc@localhost:3306/drupal8

 Themes
 commands.site.status.messages.theme_default bartik
 commands.site.status.messages.theme_admin   seven

 Directories
 Site root directory      /home/d8user/drupal8/web
 Site temporary directory /tmp
 Default theme directory  /core/themes/bartik
 Admin theme directory    /core/themes/seven

cronの実行

$ drupal cron:execute


 [OK] All cron implementations requested were executed successfully


キャッシュ関連操作

$ drupal cache:rebuild

 Rebuilding cache(s), wait a moment please.


 [OK] Done clearing cache(s).


drushではどのキャッシュをクリアするのかの選択も可能でしたが、再構築しかあります。

コア・モジュール・テーマの管理

リスト表示

drupalコマンドには見つかりませんでした。
drushコマンドを実行することになります。

ダウンロードと有効化

次の例はCAPTCHAモジュールのダウンロードと有効化まで行います。

$ drupal module:install captcha
 One or more modules "captcha" are not available, running download process to get those modules
 Getting releases for module "captcha"

 Please select your favorite release:
  [0] 8.x-1.0-beta1
  [1] 8.x-1.0-alpha1
  [2] 8.x-1.0-alpha0
  [3] 8.x-1.x-dev
 > 0

 Downloading module "captcha" release "8.x-1.0-beta1"


 [OK] Module "captcha" version "8.x-1.0-beta1" was downloaded successfully at
      "/home/d8user/drupal8/web/modules/contrib/captcha"


 Installing module(s) "captcha"


 [OK] The following module(s) were installed successfully: "captcha"



 // cache:rebuild

 Rebuilding cache(s), wait a moment please.


 [OK] Done clearing cache(s).


モジュールのダウンロードからキャッシュクリアまで実行しています。
問題は、composerで管理している場合、durpalコマンドでモジュールをインストールしてもcomposer.jsonがアップデートされませんので、差異がどんどんできてしまいます。
まず、ダウンロードだけはcomposerコマンドを使って、そのあと上記コマンドを実行すればよいと思います。
ここでは、インストール=有効化と解釈すればよいでしょう。

captchaモジュールの無効化

drupalコマンドはないようですので、drushコマンドを実行する必要があります。

captchaモジュールの無効化とアンインストール

$ drupal module:uninstall captcha
 The following module(s) were uninstalled successfully: "captcha"
 You should execute now the following command: "composer remove vendor/package"

 // cache:rebuild

 Rebuilding cache(s), wait a moment please.


 [OK] Done clearing cache(s).


モジュールは削除されません。
composerを実行しろとありますが、そもそもcomposer.jsonに記述がないので何もしません。

ここまでで、drupalコマンドはdrushコマンドとは全く異なるので、以下、使いそうなコマンドだけにしておきます。

モジュール・テーマの作成

次のコマンドを実行すると対話形式でカスタムモジュールやカスタムテーマが作成できます。
作成できるのは最低限必要なものです。

$ drupal generate:module

 // Welcome to the Drupal module generator

 Enter the new module name:
 >


$ drupal generate:theme

 // Welcome to the Drupal theme generator

 Enter the new theme name []:

感想

drush8に慣れていただけに、drush9+composerは非常に使いにくく感じます。
開発者には便利なんだろうとは思います。

Drupalバージョン

Drupal 8.x