プラグインにしてもテンプレートにしても、テストやバックアップのためにいちいちテスト環境にコピーするのが面倒だったので、自動実行できるようにするためのシェルを作成してみました。個人的な目的で作成したものですが、役に立つかもしれないので公開しておきます。
ダウンロード
Sync.zip (約 2.2 kb)
構成
アーカイブを解凍すると、Sync フォルダが出来ます。この中に、シェル本体である Sync.sh と、files フォルダ、sql フォルダがあります。files フォルダの中には、コピー先で使用するための mt-config.cgi があり、sql フォルダの中には、ブログの公開パスをテスト環境にあったものに修正するための SQL 文を記述した Sync.sql があります。シェルを実行する前に、それぞれのファイルの設定を変更します。
各ファイルの設定
以下のように設定を行ってください(以下の設定方法は、各ファイルに記述されています)。
Sync/Sync.sh の設定
- DOCUMENT_ROOT_FROM
- コピー元のドキュメントルートをフルパスで記述します。
- DOCUMENT_ROOT_TO
- コピー先のドキュメントルートをフルパスで記述します。
- MT_DIR_TO
- コピー先の、Movable Type 設置ディレクトリをフルパスで記述します。
- SYNC_SHELL_DIR
- シェルを設置するディレクトリをフルパスで記述します。
- USERNAME
- そのサーバでの、あなたのユーザ名を記述します。Movable Type 設置ディレクトリ以下のファイルはここで記述したユーザが所有者となるので、FTP や SFTP を使った編集ができるようになります。
- YOUR_MYSQL_ACCOUNT_FROM
- MySQL の、コピー元のデータベースにアクセスするためのユーザ名を記述します。
- YOUR_MYSQL_ACCOUNT_TO
- MySQL の、コピー先のデータベースにアクセスするためのユーザ名を記述します。
- YOUR_MYSQL_PASSWORD_FROM
- MySQL の、コピー元のデータベースにアクセスするためのユーザのパスワードを記述します。
- YOUR_MYSQL_PASSWORD_TO
- MySQL の、コピー先のデータベースにアクセスするためのユーザのパスワードを記述します。
- DATABASE_NAME_FROM
- MySQL の、コピー元のデータベース名を記述します。
- DATABASE_NAME_TO
- MySQL の、コピー元のデータベース名を記述します。
Sync/sql/Sync.sql の設定
- SITE_PATH_TO
- コピー先のブログの公開パスをフルパスで記述します。
- SITE_URL_TO
- コピー先のブログの URL を記述します。
- BLOG_ID
- ブログの ID を記述します。
ブログが複数ある場合は、記述されている SQL 分を必要な分だけコピー&ペーストして使うとよいでしょう。
Sync/files/mt-config.cgi については、コピー先で使用する Movable Type の設定を記述してください。シェルの実行時に、コピー元からコピーされた元の mt-config.cgi は削除され、この mt-config.cgi がコピーされます。
実行
上記の設定が完了したら、スーパーユーザでシェルを実行してください。定期的にコピーを実行させたい場合は、cron に登録しておくとよいでしょう。
Comments