2018年09月20日
Copy2Publicの同期処理を自動化するには
Copy2Publicの同期処理指定は管理画面上で指定するもの
Copy2Public プラグインは、弊社製品 PowerCMS の中でも、問い合わせの多い部類に入ります。
このプラグインの仕様については、すでに何本か記事になっていますので、そちらをご覧ください。
Copy2Public の基本は管理画面上の操作です。
管理画面上で該当ディレクトリを一覧し、対象を指定したあとで、即時同期もしくは同期の予約を行います。
同期が予約された場合は、次に run-periodic-tasks が実行されるときに同期処理が行われます。
管理画面操作を経ずに定期的に同期を実行したい
よく来る質問に「同期の操作を行わせたくないので、自動で同期するようにできないか」というものがあります。
上記説明のように、同期の実行は run-periodic-tasks で定期実行されますので、同期対象の予約のみ自動化することが出来るならば、一連の処理の自動化が可能になります。
以下のスクリプトを実行することで、同期予約の作成が行えます。
reserve-copy2public
./tools/reserve-copy2public --stage or --public [--delay=] [--class=<*|website|blog>] [--blog_id=] [--dry-run] [--mailto=sample@example.com,sample2@example.com]
必須指定: --stage ステージ同期を予約する --public 公開同期を予約する どちらかを指定する必要があります。 オプション指定: --class=<*|website|blog> 同期予約対象にウェブサイト、ブログを指定する デフォルト値: * (両方が対象) --delay=<N> 同期予約実行までの待ち秒数 デフォルト値: 30 (30秒後に実行) --blog_id=<N> 同期予約する対象のブログID デフォルト値: なし --dry-run 実際に同期予約を行わずに、対象を画面出力する --mailto 同期の完了をメール通知する カンマ区切りで複数メールアドレスの指定可能
Copy2Public はオプションプラグインとなっております。(製品パッケージのデフォルト状態ではインストールされておらず、必要によりインストールを行うもの)
以下 Copy2Public に関連するファイルですが、いずれも製品パッケージの options ディレクトリ以下に存在します。
options/plugins/Copy2Public プラグイン本体です。 /Abs2Rel HTML内部のリンクを相対指定に変更するプラグインです。 /tools/reserve-copy2public タスク実行で同期予約を行うためのスクリプトです。 /do-synchronize FTP/SFTP転送されたファイルを解凍・配置する為のスクリプトです。 外部転送利用時に転送先サーバー上で定期実行します。 /sftp-test.pl 外部転送でSFTP接続を利用する時のテストスクリプトです。
同期処理を定期実行タスクとして登録する
run-periodic-tasks などと同じく、MTの設置ディレクトリから「./tools/reserve-copy2public」の様に実行するよう登録します。
実行時点に存在している、ファイル・ディレクトリが同期対象として登録されます。
公開キュー処理などでスケジュール公開するファイルは、同期予約時点に存在していないファイルは、実際の同期処理時に存在していても同期は行われません。
ファイルの生成処理後に同期予約が実行されるよう、スクリプトの実行順を調整するなどしてください。
コメントを投稿する