開発ブログ

FileMaker Server 上でFMDeveloperToolを動かす方法【シェルスクリプト実行】

こんにちは、よしです。
今回は FileMaker Server (ファイルメーカーサーバー)上で FMDeveloperTool を動かす方法 をご紹介します。

「Developerユーティリティ、毎回手動で開くのが正直ちょっと面倒…」
そんなふうに感じたこと、ありませんか?

実は FileMaker Serverではシェルスクリプトを実行できる ので、
FMDeveloperToolも自動化できます。慣れるとかなり便利です。

少しでも参考になればうれしいです。

1. イントロダクション

FileMaker Serverでは、
シェルスクリプト(bash / Perl / Python など)や各種スクリプトを実行できる のをご存知でしょうか。

正直、最初は私も「そんなことできるんだ…」という感じでした。

FileMaker Pro だけでは難しい処理も、
Server+システムスクリプトを使うことで一気に幅が広がります。

シェルスクリプトでできること

シェルスクリプトは、例えばこんな処理をまとめて実行できます。

  • ファイルのコピー・移動
  • ログの出力・抽出
  • 定期処理の自動化

いわば 「いつもの作業をコマンド化する仕組み」 ですね。

WindowsではバッチやVBScript、
macOS・Linuxでは bash / Perl / Python などが利用できます。

今回はその仕組みを使って、
FMDeveloperToolをFileMaker Server 上で実行するデモ を行います。


FMDeveloperToolとは?

シェルスクリプト FMDeveloperTool FileMaker Server 自動化 DX

FMDeveloperTool(FileMaker Developer Tool) は、Claris FileMaker のデータベース開発・展開作業をコマンドライン(CUI)で操作できる公式ツール です。

これまで
「FileMaker Proを開いて → Developerユーティリティを選んで → ポチポチ操作」
していた作業を、コマンド一発で実行できます。

できることは例えば以下のとおりです。

  • コピー・クローン作成
  • XML(DDR)の出力
  • 一貫性チェック
  • 暗号化・復号化
  • 管理者アクセスの削除
  • 修復処理 など

スクリプトと組み合わせることで、
ミスのない自動展開 ができるのが大きなメリットです。

引用: https://support.claris.com/s/answerview?anum=000040031&language=ja


2. DEMO(実行イメージ)

今回は 「XMLファイルとして保存(DDR出力)」
シェルスクリプトから実行してみます。

FileMaker ServerのAdmin Consoleで作成したスケジュールを、
赤枠の 「今すぐ実行」ボタン から実行します。

※ 注意点として、
対象のFileMakerファイルは必ず閉じてから実行 してください。
稼働中のファイルには使えません。

実行結果の確認

今回は出力先を /tmp にしています。

cd /tmp
find *xml

問題なければ、XMLファイルが生成されているはずです。


無事に出力されたときは、ちょっと安心します。

XML(DDR)を出力するメリット

「XMLファイルとして保存」で作成されるXMLは、
FileMakerの スキーマ構造をそのまま表現したデータ です。

  • 改修前
  • 改修後

この2つを比較することで、
どこが変わったのかを正確に確認 できます。

地味ですが、リリース前にはかなり重宝します。

引用: https://help.claris.com/ja/pro-help/content/save-a-copy-as-xml.html


3. シェルスクリプトのコード例

XMLを出力するサンプルのシェルスクリプトです。
今回はAIを使って作成しました。

#!/bin/bash
set -e

# --- 引数チェック ---
if [ $# -lt 3 ]; then
  echo "使い方: $0 <SRC_PATH> <SRC_ACCOUNT> <SRC_PWD>"
  echo "例: $0 './test.fmp12' admin admin"
  exit 1
fi

# --- 引数 ---
SRC_PATH="$1"
SRC_ACCOUNT="$2"
SRC_PWD="$3"

# ツールパス
TOOL_PATH="/opt/FileMaker/FileMaker Server/Database Server/bin/FMDeveloperTool"

# 出力先(tmpフォルダに固定)
OUT_XML="/tmp/$(basename "$SRC_PATH").xml"

# --- 実行 ---
"$TOOL_PATH" \
  --saveAsXML "$SRC_PATH" "$SRC_ACCOUNT" "$SRC_PWD" \
  -t "$OUT_XML"

echo "XML(DDR)が生成されました → $OUT_XML"
exit 0

シンプルですが、
「自動化する」には十分な内容です。


4. シェルスクリプトの設定方法

シェルスクリプトの設定は、
公式ヘルプ「システムスクリプトファイルの実行」に沿って行います。

① スクリプトの配置場所

以下のディレクトリに配置してください。

  • Windows
    C:\Program Files\FileMaker\FileMaker Server\Data\Scripts\
  • macOS
    /ライブラリ/FileMaker Server/Data/Scripts/
  • Linux
    /opt/FileMaker/FileMaker Server/Data/Scripts/

② 権限設定(Linux例)

FileMaker Serverが実行できるようにします。

権限グループの追加

※ FileMaker Serverはデフォルトで「fmsadmin」として動作します。

権限の設定

③ Admin Consoleでの設定

構成 → スケジュール → スケジュールの作成
以下を設定します。

  • スケジュールタイプ:システムスクリプト
  • スケジュール名:任意
  • システムスクリプト:配置したスクリプト
  • 引数: "/opt/FileMaker/FileMaker Server/Data/Databases/XXXXX.fmp12" "アカウント名" "パスワード"

※アカウント、パスワードは.fmp12に設定した完全アクセス権です。


5. 環境情報

  • FileMaker Server:21.1.5.500
  • バックエンド:Ubuntu 22.04
  • フロントエンド:M1 Mac / Tahoe 26.0.1

6. まとめ

FileMaker(ファイルメーカー)ServerとFMDeveloperToolを組み合わせることで、
できることの幅は一気に広がります

最初は少しハードルが高く感じるかもしれませんが、
一度仕組みを作ってしまえば、あとはかなり楽です。

ぜひ試してみてください。

次回は、
FMDeveloperToolを使ってFileMaker Serverへアップロードする方法
にも挑戦してみようと思います。

🔗参考資料

🎥Claris公式 ヘルプ
 LClaris FileMaker Developer Tool
 L名前を付けて XML として保存

✏️関連記事のご紹介
 ●システムスクリプトの基本的な設定手順についてはコチラ!
  Lサーバー上の別のセッションでスクリプトを実行
 ●AI関連記事
  LFIleMaker(ファイルメーカー)とChatGPT連携!
 ●サーバーパフォーマンス監視について
  LClaris FileMaker Server 19.3.1 〜帰ってきたログビューア
 ●APIを利用したデータ連携
  LFileMaker開発者が知っておくべき「OData」活用法:Data APIとの違い(基本編)

🌐 サポータス公式サイト(ソリューション紹介)
 L SNS( Twitter | Facebook
 L FileMaker 導入事例まとめ

投稿者 よし

こんにちは。 私は、よしと言います。 2022年4月に入社した新人でございます。 覚えていただけると幸いです。 FileMaker初心者です。 趣味は、映画を見ることやゲームをすることが好きです。 自作PCを作ったりもしてます。 好きな食べ物は、チョコ、ハンバーガー、ピザです。

業務効率化のことなどお気軽にご相談ください

お問い合わせ

お問い合わせ

導入に関するお悩みや
ご不明点お応えいたします

相談する

お見積り

お見積り

お客様の状況に合わせて
最適なプランをご提案いたします

お見積りを依頼

資料ダウンロード

資料請求

FileMaker とサポータスの魅力が
分かる資料セットをダウンロード

資料をダウンロード