PSTコマンド(3.0.0)

はじめに

WEXAL® Page Speed Technology(以下、PST)の機能を制御するためのコマンドラインインターフェース(CLI: Command Line Interface)です。コマンドは/usr/bin/pstです。

  •  ユーザについて
    • コマンドの実行は kusanagi ユーザ、または、root で行えます。
  •  プロファイルについて
    • 各サブコマンドでプロファイルを指定できます。プロファイルを指定する場合は、必ず最後に指定します。
      省略した場合は、現在のカレントディレクトリのプロファイルに対し各サブコマンドを実行します。カレントディレクトリが有効なプロファイルではない場合はエラーとなります。
  •  表記について
    • { a | b }
      a または b のどちらかを指定します。省略できません。
    • [ a ]
      a を指定できます。省略した場合はデフォルトで動作します。

-V | --version

現PST環境のバージョン情報を確認します。

使用例

pst -V
pst --version

オプション

なし

実行例

[kusanagi@kusanagi8 ~]$ pst -V
PST Version : 3.0.0

-h | --help

pstコマンドや、各サブコマンドの使い方が表示されます。

使用例

pst -h
pst init -help
pst opt all -h

オプション

なし

[--dryrun] {subcommand}

pstサブコマンドの実行を実際に行わずに、サブコマンドの実行結果を確認できます。--dryrunオプションはサブコマンドの直前に指定してください。

使用例

pst --dryrun init
pst --dryrun opt all --path /wp-content

オプション

pstサブコマンドによります。

init [option] [profile]

KUSANAGIのプロファイルに対して、PSTの初期設定を行います。これにより、PST設定ファイルなどが配置されます。PSTのアップデートの際にも実施します。

使用例

pst init kusanagi_html

オプション

[--http]httpプロファイルに対して初期設定を行います。
デフォルトはsslプロファイルに対して初期設定を行います。
[--keepdb]pst initを行う際に、最適化戦略やWebサイトを解析した際のリソースを格納したDBを自動削除しません。
デフォルトはバージョンアップ時にDBのスキーマが変わることがあるため、自動削除します。
[--reverseproxy リバースプロキシ]リバースプロキシのプロファイルとして初期化するための、リバースプロキシのオリジンのURLを指定します。
デフォルトはリバースプロキシとして初期化しません。
[--origin オリジン]リバースプロキシのプロファイルとして初期化する際に、 オリジンのFQDNを指定します。リバースプロキシのFQDNとオリジンのFQDNが異なる場合に使用します。
デフォルトはリバースプロキシのFQDNと同じです。
[--websocket]リバースプロキシにおいて、WebSocketによる通信を有効にします。
デフォルトはWebSocketによる通信を有効にしません。
[--nano]nanoを有効にします。
デフォルトはnanoを有効にしません。
[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

config init [profile]

プロファイルのPST設定ファイルを初期化します。

使用例

pst config init kusanagi_html

オプション

[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

config commit [profile]

PST設定ファイルをプロファイルの本番環境に反映します。

使用例

pst config commit --path pst.stg.config.yaml kusanagi_html

オプション

--path パス本番環境に反映するPST設定ファイルを指定します。
[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

config ai -- [option] [profile]

プロファイルの最適化戦略を事前に生成します。また、静的な最適化戦略をPST設定ファイルとして生成します。このサブコマンドはオプションとの間に「--」を指定する必要があります。

使用例

pst config ai -- --depth 1 kusanagi_html

オプション

[--url URL]解析するWebサイトのトップURLを指定します。
デフォルトはKUSANAGIのプロファイルのトップURLとなります。
[--diagnosis]詳細な分析情報を出力します。
デフォルトは出力しません。
[--benchmark]Nautilus、Logbook使用時の実行時間を表示します。
デフォルトは表示しません。
[--configname 設定名]PST設定ファイルと最適化戦略を指定した名前で生成します。
デフォルトは、PST設定ファイルがdavid、最適化戦略は指定なし(本番環境)です。
[--depth 階層]Webサイトを解析する際のトップURLから辿るリンクの階層数を指定します。
デフォルトは2です。トップページからリンクされている次のページまで分析します。
[--list ファイル名]解析するWebサイトのURLを指定できます。1行1URLでリストを書いたテキストファイルを指定します。--listを指定したときは、--urlの指定が無効となり、depthが自動的に1になります。
デフォルトは--urlと--depthに従います。
[--no-redirect]リダイレクト先のクロールをしないようになります。ただし、その結果クロールするHTMLがなくなった場合はconfig生成がエラーになります。
デフォルトはクロールします。
[--voyage]Webサイトの解析を行う際にキャッシュを利用せずに、必ずサイトにアクセスして情報を取得します。
デフォルトはキャッシュを優先的に使用して解析します。
[--voyage-on-error]Webサイトの解析を行う際にキャッシュにエラーがあった場合のみ、キャッシュを利用せずに、サイトにアクセスして情報を取得します。
デフォルトはキャッシュがエラーであっても、優先的に使用して解析します。
[--voyage-on-redirect]Webサイトの解析を行う際にキャッシュにリダイレクトがあった場合のみ、キャッシュを利用せずに、サイトにアクセスして情報を取得します。
デフォルトはキャッシュがリダイレクトであっても、優先的に使用して解析します。
[--timeout 時間]Webサイトの解析を行う際に、Webページを取得するタイムアウト時間を秒で設定します。0を指定した場合はWebページからレスポンスがあるまで待ち続けます。
デフォルトは30です。
[--no-cacheEnabled]Webサイトの解析を行う際にブラウザキャッシュを無効にします。
デフォルトは有効です。
[--interceptRequest]Webサイトの解析を行う際にドキュメント、JavaScript/Stylesheet以外を取得しないようにします。
デフォルトは全てを取得します。
[--no-ignoreAnalytics]Webサイトの解析を行う際に、www.google-analytics.comへのリクエストを許可します。
デフォルトではGoogle Analyticsでカウントされないように、www.google-analytics.comへのリクエストをブロックします。
[--ignoreExtensions]Webサイトの解析を行う際にリソースの拡張子を無視して取得します。
デフォルトは.jsと.cssのリソースのみを取得します。
[--useHttpcli]標準のpuppeteerに代えてhttpcliによる解析を行います。httpcliはpuppeteerに比べてリソースの消費が少なく高速に動作しますが、LCPの取得が行えません。
デフォルトはpuppeteerを使用します。
[--lua]最適化戦略をluaディレクティブで生成します。
デフォルトはluaディレクティブです。
[--wp]最適化戦略をwpディレクティブで生成します。
デフォルトはluaディレクティブです。 --luaおよび--wpを両方とも指定した場合は、wpディレクティブで生成します。
[--classify]JavaScriptの解析を行います。解析結果は、Logbookに保存します。
デフォルトは解析しません。
[--expire 時間]Webサイトの解析を行う際に、指定した時間よりも最適化戦略が古い場合に最適化戦略を生成します。0を指定した場合は必ず生成します。
デフォルトは必ず生成します。
[--lighthouseLcp]Webサイトの解析を行う際に、LighthouseによるLCPの取得を行います。
デフォルトはpuppeteerによりLCPを取得します。
[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

initdb [profile]

最適化戦略やWebサイトを解析した際のリソースを格納したDBを初期化します。

使用例

pst initdb kusanagi_html

オプション

[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

lighthouse [profile]

Lighthouseを実行します。実行結果はプロファイルの wexal/userdir/out/lighthouse.html に出力します。

使用例

pst lighthouse --url https://kusanagi.example.com/ kusanagi_html

オプション

--url URLLighthouseを実行するWebサイトのURLを指定します。
[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

on [profile]

PSTを有効化します。

使用例

pst on kusanagi_html

オプション

[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

off [profile]

PSTを無効化します。

使用例

pst off kusanagi_html

オプション

[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

opt all [option] [profile]

全てのリソースを対象にリソース最適化を実行します。このコマンドはWEXALサービス(optimizer)のリソース最適化サービスに実行を指示します。そのため、リソース最適化サービスが起動されていない場合、リソース最適化サービスが起動されるまで実行は保留されます。

使用例

pst opt all --path /wp-content/uploads kusanagi_html

オプション

[--force]強制的にリソース最適化を行います。
デフォルトでは、既にリソース最適化済のファイルが存在し、リソースに変更がない場合は再度実行しません。
[--priority]最優先でリソース最適化を行います。既に他のリソース最適化が実行中であったとしても、このコマンドで指定したリソースの最適化を優先的に実行します。
デフォルトでは、リソース最適化のコマンドを実行した順番で処理されます。また、プロファイル監視プロセスによるリアルタイムのリソース最適化が実行中の場合、一連の最適化が完了した後に実行されます。
[--path パス]リソース最適化を行う対象のディレクトリ、または、ファイルを指定します。パスは、KUSANAGIのプロファイルのDocumentRootからの絶対パスで指定します。
デフォルトは / です。DocumentRoot配下のリソース最適化を行える全てのファイルが対象となります。
[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

opt image [option] [profile]

画像のリソースを対象にリソース最適化を実行します。このコマンドはWEXALサービスのリソース最適化サービス(optimizer)に実行を指示します。そのため、リソース最適化サービスが起動されていない場合、リソース最適化サービスが起動されるまで実行は保留されます。

使用例

pst opt image --path /wp-content/uploads kusanagi_html

オプション

[--force]強制的にリソース最適化を行います。
デフォルトでは、既にリソース最適化済のファイルが存在し、リソースに変更がない場合は再度実行しません。
[--priority]最優先でリソース最適化を行います。既に他のリソース最適化が実行中であったとしても、このコマンドで指定したリソースの最適化を優先的に実行します。
デフォルトでは、リソース最適化のコマンドを実行した順番で処理されます。また、プロファイル監視プロセスによるリアルタイムのリソース最適化が実行中の場合、一連の最適化が完了した後に実行されます。
[--path パス]リソース最適化を行う対象のディレクトリ、または、ファイルを指定します。パスは、KUSANAGIのプロファイルのDocumentRootからの絶対パスで指定します。
デフォルトは / です。DocumentRoot配下のリソース最適化を行える全てのファイルが対象となります。
[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

opt js [option] [profile]

スクリプトのリソースを対象にリソース最適化を実行します。このコマンドはWEXALサービスのリソース最適化サービス(optimizer)に実行を指示します。そのため、リソース最適化サービスが起動されていない場合、リソース最適化サービスが起動されるまで実行は保留されます。

使用例

pst opt js --path /wp-content/uploads kusanagi_html

オプション

[--force]強制的にリソース最適化を行います。
デフォルトでは、既にリソース最適化済のファイルが存在し、リソースに変更がない場合は再度実行しません。
[--priority]最優先でリソース最適化を行います。既に他のリソース最適化が実行中であったとしても、このコマンドで指定したリソースの最適化を優先的に実行します。
デフォルトでは、リソース最適化のコマンドを実行した順番で処理されます。また、プロファイル監視プロセスによるリアルタイムのリソース最適化が実行中の場合、一連の最適化が完了した後に実行されます。
[--path パス]リソース最適化を行う対象のディレクトリ、または、ファイルを指定します。パスは、KUSANAGIのプロファイルのDocumentRootからの絶対パスで指定します。
デフォルトは / です。DocumentRoot配下のリソース最適化を行える全てのファイルが対象となります。
[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

opt css [option] [profile]

スタイルシートのリソースを対象にリソース最適化を実行します。このコマンドはWEXALサービスのリソース最適化サービス(optimizer)に実行を指示します。そのため、リソース最適化サービスが起動されていない場合、リソース最適化サービスが起動されるまで実行は保留されます。

使用例

pst opt css --path /wp-content/uploads kusanagi_html

オプション

[--force]強制的にリソース最適化を行います。
デフォルトでは、既にリソース最適化済のファイルが存在し、リソースに変更がない場合は再度実行しません。
[--priority]最優先でリソース最適化を行います。既に他のリソース最適化が実行中であったとしても、このコマンドで指定したリソースの最適化を優先的に実行します。
デフォルトでは、リソース最適化のコマンドを実行した順番で処理されます。また、プロファイル監視プロセスによるリアルタイムのリソース最適化が実行中の場合、一連の最適化が完了した後に実行されます。
[--path パス]リソース最適化を行う対象のディレクトリ、または、ファイルを指定します。パスは、KUSANAGIのプロファイルのDocumentRootからの絶対パスで指定します。
デフォルトは / です。DocumentRoot配下のリソース最適化を行える全てのファイルが対象となります。
[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

passwd list

PST Managerにログインするために作成されているユーザーを表示します。

使用例

pst passwd list

オプション

なし

passwd add [option]

PST Managerにログインするためのユーザーを追加します。

使用例

pst passwd add --user example_user --pass example_pass

オプション

[--user ユーザー]ユーザー名を指定します。省略した場合、プロンプトからユーザー名を入力します。
ユーザー名は英字小文字、英字大文字、数字、.(ピリオド)、_(アンダースコア)、-(ハイフン)の組み合わせで、3文字以上16文字以内である必要があります。
[--pass パスワード]パスワードを指定します。省略した場合は、プロンプトからパスワードを入力します。
パスワードは英字小文字、英字大文字、数字、.(ピリオド)、!(エクスクラメーション)、#(シャープ)、%(パーセント)、+(プラス)、_(アンダースコア)、-(ハイフン) の組み合わせで、8文字以上である必要があります。

passwd delete [option]

PST Managerにログインするためのユーザーを削除します。

使用例

pst passwd delete --user example_user

オプション

[--user ユーザー]ユーザー名を指定します。省略した場合、プロンプトからユーザー名を入力します。

purge all [option] [profile]

全ての最適化済リソースのパージを実行します。また、proxyディレクティブによりローカルにプロキシした外部リソース(画像、スクリプト、スタイルシート)のパージも合わせて実行します。

使用例

pst purge all --reverseproxy --path /wp-content/themes kusanagi_html

オプション

[--reverseproxy]リバースプロキシ環境の DocumentRoot 配下のキャッシュリソースのパージを実行します。 リバースプロキシ環境以外でこのオプションを実行した場合、このオプションは無視されます。
デフォルトでは、キャッシュリソースはパージしません。
[--webfont]外部CSS、および、インラインCSSにwebfontが含まれる場合に最適化ファイルとして生成されたwebfontのCSSのパージを実行します。
デフォルトでは、webfontのCSSはパージしません。
[--path パス]リソース最適化を行う対象のディレクトリ、または、ファイルを指定します。パスは、KUSANAGIのプロファイルのDocumentRootからの絶対パスで指定します。
デフォルトは / です。DocumentRoot配下のリソース最適化を行える全てのファイルが対象となります。
[-y]y/nを入力することなくパージを実行します。
デフォルトは最適化済リソースのパージする際にy/nを入力するプロンプトを表示します。
[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

purge excluded [option] [profile]

何らかの理由によって最適化対象から除外された最適化済リソース、および、元のファイルよりも古い最適化リソースのパージを実行します。最新の最適化済リソースに対しては何もしません。

使用例

pst purge excluded --path /wp-content/themes kusanagi_html

オプション

[--reverseproxy]リバースプロキシ環境の DocumentRoot 配下のキャッシュリソースのパージを実行します。 リバースプロキシ環境以外でこのオプションを実行した場合、このオプションは無視されます。
デフォルトでは、キャッシュリソースはパージしません。
[--webfont]外部CSS、および、インラインCSSにwebfontが含まれる場合に最適化ファイルとして生成されたwebfontのCSSのパージを実行します。
デフォルトでは、webfontのCSSはパージしません。
[--path パス]リソース最適化を行う対象のディレクトリ、または、ファイルを指定します。パスは、KUSANAGIのプロファイルのDocumentRootからの絶対パスで指定します。
デフォルトは / です。DocumentRoot配下のリソース最適化を行える全てのファイルが対象となります。
[-y]y/nを入力することなくパージを実行します。
デフォルトは最適化済リソースのパージする際にy/nを入力するプロンプトを表示します。
[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

purge expires [option] [profile]

指定した期間より古い最適化済リソースのパージを実行します。

使用例

pst purge expires --period 60d --path /wp-content/themes kusanagi_html

オプション

--period 期間期間の指定方法は、数値と日時単位(y : 年、M: 月、w: 週、d: 日、h: 時、m: 分、s: 秒)の組み合わせで指定します。年は365日(1y = 365d)、月は30日(1M = 30d)で固定されています。
例)--expires 1M10d: 40日前、36h: 36時間前
[--reverseproxy]リバースプロキシ環境の DocumentRoot 配下のキャッシュリソースのパージを実行します。 リバースプロキシ環境以外でこのオプションを実行した場合、このオプションは無視されます。
デフォルトでは、キャッシュリソースはパージしません。
[--webfont]外部CSS、および、インラインCSSにwebfontが含まれる場合に最適化ファイルとして生成されたwebfontのCSSのパージを実行します。
デフォルトでは、webfontのCSSはパージしません。
[--path パス]リソース最適化を行う対象のディレクトリ、または、ファイルを指定します。パスは、KUSANAGIのプロファイルのDocumentRootからの絶対パスで指定します。
デフォルトは / です。DocumentRoot配下のリソース最適化を行える全てのファイルが対象となります。
[-y]y/nを入力することなくパージを実行します。
デフォルトは最適化済リソースのパージする際にy/nを入力するプロンプトを表示します。
[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

queue

WEXALサービスで使用するキューの状態を表示します。optimizerはリソース最適化サービス(optimizer)のキュー、strategyは最適化戦略生成サービス(strategy)のキューです。

使用例

pst queue

オプション

なし

remove [option] [profile]

プロファイルからPSTを削除します。これにより、PSTを適用する以前のKUSANAGIのプロファイル環境に戻すことができます。なお、pst initを行った後にnginxの設定ファイルを変更している場合、それらを変更する前に戻ります。特にSSL証明書等の設定を後からkusanagi sslコマンド等で変更している場合は、pst removeを実行後にnginxの設定を確認してください。

使用例

pst remove kusanagi_html

オプション

[-y]y/nを入力することなく削除を実行します。
デフォルトは削除する際にy/nを入力するプロンプトを表示します。
[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

status [profile]

PSTステータスを表示します。

使用例

pst status kusanagi_html

オプション

[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

watch on [profile]

プロファイルのリソース監視を有効化します。リソース監視はプロファイルをリアルタイムに監視し、リソースの変更に応じてリソース最適化サービス(watch)に実行を指示します。また、リソース最適化サービス(watch)が起動されていない場合は、リソース最適化サービスが起動されるまで実行は保留されます。リソース監視は、リソース最適化サービス(watch)へ最優先の実行で指示します。そのため、リソース最適化を実行するコマンドで最適化の処理中であっても、変更があったリソースの最適化を優先的に実行するように指示します。

使用例

pst watch on kusanagi_html

オプション

[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

watch off [profile]

プロファイルのリソース監視を無効化します。リソース監視が無効の場合、リソース最適化、および、削除がリアルタイムに実行されません。必要に応じてリソース最適化やパージのコマンドを実行してください。

使用例

pst watch off kusanagi_html

オプション

[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

watch restart [profile]

プロファイルのリソース監視を再起動します。

使用例

pst watch restart kusanagi_html

オプション

[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

watch status [profile]

プロファイルのリソース監視の状態を表示します。

使用例

pst watch status kusanagi_html

オプション

[profile]profileを指定した場合、指定したプロファイルの操作を行います。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。