本日は Drupal ドキュメント日本語訳シリーズの一環として、本格的な Drupal 開発には欠かせない Drush のコマンドリファレンスを翻訳してご紹介したいと思います。

いまここを読んでいる方の中に「 Drupal は知ってるけど Drush って何?」という方もいらっしゃいるでしょうか? 本題に入る前に、そんな方のための「 Drush ひとこと解説」をかんたんにしてみたいと思います。

Drush とは

Drush (多くの人が「ドラッシュ」と読みます)とは Drupal の各種操作をコマンドライン上で行えるいわゆる「 CLI ツール」です。 サイトのセットアップやキャッシュのクリア、設定の変更や cron の実行、データベース CLI の立ち上げなど、 Drupal サイトの開発に便利な操作をコマンドラインから実行する機能を提供しています。

他のフレームワークをご存知の方は Ruby on Rails の rails コマンドや WordPress の WP-CLI の Drupal 版と捉えていただくとよろしいかと思います。 ちなみに Drush という名前は Drupal Shell の省略形から来ているそうです。

Drush のインストール方法はここでは割愛しますが解説記事をいくつか書いていますので興味のある方はぜひ参考にしてみてください。

では、以下に Drush コマンドリファレンスを翻訳してご紹介いたします。 元記事はこちら。

なお今回の翻訳文は 2013 年 11 月 20 日最終更新版をもとにしています。 原文にも少し古くなっている箇所があるようですが今回は原則 原文のまま で翻訳している点にご留意ください。 意訳の部分もありますので原文の正確なニュアンスが知りたい方はぜひ原文の方をご覧いただければと思います。

Drush コマンドリファレンス

コマンドごとのヘルプを見るには drush help [command] を実行してください。

  • drush dl cck zen CCK モジュールと Zen テーマをダウンロードします。
  • drush --uri=http://example.com status example.com マルチサイトのステータスコマンドを表示します。
  • drush help --pipe スペース区切りのコマンド一覧です。

コマンドのフラグ(例えば drush sql-dump --skip-tables-key=common )についての詳細は http://drush.ws/ を確認するか drush help コマンド名 を使ってください。

Options:

オプション 説明

  • -r, --root= 使用する Drupal のルートディレクトリ(デフォルト: カレントディレクトリ)。
  • -l, --uri= 使用する Drupal サイトの URI (マルチサイト環境でのみ必要)。
  • -v, --verbose コマンドの情報を多めに出力。
  • -d, --debug 内部的なメッセージを含むさらに多くの情報を出力。
  • -q, --quiet 出力を一切出さない。
  • -y, --yes 出てくるプロンプトすべてに yes と答える。
  • -s, --simulate 関連するアクションすべてをシミュレートする(システムに実際の変更は加えない)。
  • -i, --include Drush コマンドを探すサーチパスのリスト。
  • -c, --config 使用するコンフィグファイルを指定する。 example.drushrc.php を参照のこと。
  • -u, --user ログインユーザを指定する。名前でも数値でも OK 。
  • -b, --backend 出力を一切出さず構造化されたデータを返す(内部的な使用限定)。
  • -p, --pipe スクリプティング用にコンパクトなコマンド表現を使う。

Commands:

コマンド(かっこ内は省略形) 説明

help このヘルプメッセージを表示。コマンドリストをひとつのコマンドファイルに制限する場合は `--filter` を使う(例: `--filter=pm` )。
cron すべての cron フックを実行。
updatedb (updb) コマンドラインから update.php プロセスを実行。
status (st) 現在の Drupal インストール環境を鳥瞰情報を表示。
script php スクリプトを実行。
cache clear (cc) すべてのキャッシュをクリア。
watchdog show (ws) 最近のウォッチドッグログメッセージを表示。オプションで特定のタイプに絞り込み可。
watchdog delete (wd) すべてのメッセージ、あるいは特定のタイプのメッセージを削除。
sync Drupal ツリーを ssh でサーバー間に rsync する。
eval Drupal のブートストラップ処理のあとに任意の php コードを評価。
enable (en) ひとつ以上のモジュールを有効化。
disable (dis) ひとつ以上のモジュールを無効化。
pm-uninstall ひとつ以上のモジュールをアンインストール。
statusmodules (sm) モジュールの有効/無効ステータスを出力。
refresh (rf) アップデートステータス情報を更新。
updatecode (upc) プロジェクトコードを更新。
update (up) プロジェクトコードを更新し、必要なデータベース更新があればすべて適用する。
info プロジェクトのリリース情報。
dl コア Drupal や CCK 、 Zen などのプロジェクトをダウンロード。
test mail すべてのテストを実行し、結果をチームにメール送信する。
test clean 以前のテストの実行の結果残ったテーブルとファイルを削除。
sql-conf データベース接続の詳細情報を表示。
sql-connect DB に接続するための文字列。
sql-dump mysqldump を使って Drupal DB を SQL としてエクスポート。
sql-query (sqlq) サイトデータベースに対してクエリを実行。
sql-load データベースをコピー。
sql-cli Drupal と同じ認証で SQL コマンドライン・インタフェースを開く。
vget %var _%var_ で始まるすべての変数の名前と値のリストを表示。
vset %var %val _%var_ で始まるすべての変数の値を _%val_ にセット。

プラグインコマンド(モジュールが提供するもの)

Delete All
  • delete-all article すべての article ノードを削除。
  • delete-all all すべてのタイプのノードを削除。
  • delete-all --reset すべてのタイプのノードを削除し、ノード、リビジョン、コメントのカウンタをリセット。
  • delete-all users ユーザを削除。
Devel
  • devel-download FirePHP ライブラリを http://firephp.org/ からダウンロード。
  • devel-reinstall プロジェクトのリストを無効化、アンインストールしてからインストールする。
  • fn-hook 与えられたフックの実装をリストアップし、選択されたフックのソースコードを探索する。
  • fn-view 指定された関数やメソッドのソースコードを表示。
  • devel-token 利用可能なトークンをリストアップ。
Devel Generate
  • generate-users ユーザを作成。
  • generate-taxonomy タクソノミーを作成。
  • generate-vocabs ボキャブラリーを作成。
  • generate-terms 指定されたボキャブラリーのタームを作成。
  • generate-content コンテンツを作成。
  • generate-menu メニューとメニューアイテムを作成。
Module Builder
  • mb 新しい Drupal モジュールのコードを生成。そこにはファイルヘッダやフック実装が含まれる。
  • mbdl module_builder のフックデータを更新。
  • mb-list module_builder が知っているフックをリストアップ。
  • mb-dochooks 与えられたモジュールに必要なフックのコメントヘッダを追加。
  • mb-docparams パラメータの追加...作成中。
  • mb-debug module builder のデバッグ。そのときに必要なことをすべて行う。
Drush Make
  • make makefile から Drupal サイトを作成。
Backup and Migrate
  • bam-backup Backup and Migrate でサイトのデータベースをバックアップ。
  • bam-restore Backup and Migrate でサイトのデータベースをリストア。
  • bam-destinations 利用可能なデスティネーションのリストを取得。
  • bam-sources 利用可能なソースのリストを取得。
  • bam-profiles 利用可能な設定プロファイルのリストを取得。
  • bam-backups 以前に作成されたバックアップファイルのリストを取得。
Feed API
  • feedapi create フィードを作成。
  • feedapi refresh フィードをリフレッシュ。
  • feedapi parse フィードをパースし結果を標準出力に出力。
  • feedapi config 与えられたパーサあるいはプロセッサの設定を表示。
Statistics Pro
  • statspro aliases 現在のエイリアスカウントを表示。
  • statspro comments 現在作成されているコメントのカウントを表示。
  • statspro error 現在のエラーカウントを表示。
  • statspro modules 現在インストールされているモジュールのカウントを表示。
  • statspro nodes 現在作成されているノードのカウントを表示。
  • statspro node_types 現在存在するノードタイプのカウントを表示。
  • statspro pi 本日のページインプレッションカウントを表示。
  • statspro sessions 本日のセッションカウントを表示。
  • statspro terms 現在のタクソノミータームカウントを表示。
  • statspro uerror 現在認証ユーザに表示されているエラーのカウントを表示。
  • statspro upi 本日認証ユーザのページインプレッションのカウントを表示。
  • statspro users 現在作成されているユーザのカウントを表示。
  • statspro uwarning 本日認証ユーザに表示されている警告のカウントを表示。
  • statspro warning 本日の警告カウントを表示。
Zenophile
  • zenophile Zen サブテーマをすばやくかんたんに作成。
  • zen zenophile コマンドのエイリアス。
Omega Tools
  • omega-subtheme "New Theme Name" HTML5 のサブテーマ( new_theme_name )をデフォルトの sites/all/themes に作成。
  • omega-subtheme "New Theme Name" html5 HTML5 のサブテーマ( new_theme_name )をデフォルトの sites/all/themes に作成。
  • omega-subtheme "New Theme Name" xhtml XHTML のサブテーマ( new_theme_name )をデフォルトの sites/all/themes に作成。
  • omega-subtheme "New Theme Name" --destination=example.com HTML5 のサブテーマ( new_theme_name )をデフォルトの sites/exaple.com/themes に作成。
Node Export
  • ne-export Node export を使ってノードをエクスポート。
  • ne-import Node export を使って以前にエクスポートされたノードをインポート。
  • node-export Node export を使ってノードをエクスポート。
  • node-export-export Node export を使ってノードをエクスポート。
  • node-export-import Node export を使って以前にエクスポートされたノードをインポート。

引数:

  • nids : エクスポートしたいノード ID のスペース区切りのリスト。

オプション:

  • --file : 出力ファイルのファイル名。これが与えられた場合はノードコードはファイルに( Drupal ルートに)出力され、提供されなかった場合は標準出力に出力される。
  • --format : これが与えられた場合、ノードコードは特定のエクスポートフォーマットを使って出力される(例: serialize )。
  • --status : 'status' のフィルタ: ノードが掲載となっているかどうかを表す論理値( 0 1 )。
  • --promote : 'promote' のフィルタ: ノードがフロントページに出力される設定になっているかどうかを表す論理値( 0 1 )。
  • --sticky : 'sticky' のフィルタ: ページへの表示時にリストのトップに表示される設定になっているかどうかを表す論理値(o 1 )。
  • --translate : 'translate' のフィルタ: ノードの翻訳に更新の必要があるかどうかを表す論理値( 0 1 )。
  • --language : 'language' のフィルタ: ノードの言語コード(例: de en-US )。
  • --type : 'type' のフィルタ: ノードタイプのマシン名(例: story page )。
  • --sql : SQL によるフィルタ(試験的): ノード ID を返す SQL クエリ文字列(例: "SELECT nid FROM nodes WHERE nid < 10")。
  • --code : PHP コードによるフィルタ(試験的): ノード ID の配列または CSV 文字列を返す PHP コード(例: "custom_get_my_nids();")。 PHP タグを含めないこと。

共に働く新しい仲間を
募集しています

スタジオ・ウミは「Drupal」に特化したサービスを提供する Drupal のエキスパートチーム。
フルリモート&フレックス制だから、働く場所を選ばず時間の使い方も自由です。
そんなワークライフバランスの整った環境で、当ブログに書かれているような
様々な技術を共に学びながら、Drupalサイト開発に携わってみたい方を募集しています。
まずはお話だけでも大歓迎!ぜひお気軽にご連絡ください。