スクリプトスケジュールの詳細の指定

ヒント  スケジュールの詳細の多くは、メインウインドウの前面に開かれるダイアログボックスを使用して設定します。ダイアログボックスで行った変更を適用するには、メインウインドウ上のダイアログボックスの外側をクリックします。

  1. スケジュールタイプを選択します。

    スケジュールタイプ 追加情報

    FileMaker スクリプト

    • 共有データベースの一覧からデータベースを選択します。

    • 選択したデータベースの FileMaker スクリプトの一覧からスクリプトを選択します。

      選択したデータベースのスクリプトが表示されない場合は、FileMaker スクリプトエンジン (FMSE) が実行されているかどうかを確認します。実行されていない場合は、コマンド fmsadmin start fmse を使用して開始します。start コマンドについては、CLI ヘルプを参照してください。

      スクリプト名は固有である必要があります。同じ名前のスクリプトをデータベースで使用している場合は、1 つのスクリプトのみが一覧に表示されます。

    • 必要な [引数] を入力します。

      メモ  スクリプト引数は、FileMaker スクリプトにテキストとして渡されます。たとえば、スクリプト引数「5 + 5」を入力すると、スクリプトには 10 という値ではなく、文字列「5 + 5」が渡されます。

      スクリプト引数の詳細については、FileMaker Pro ヘルプを参照してください。

    システムスクリプト

    • 「Scripts」フォルダ内にある使用可能なシステムスクリプトからスクリプトを選択します。

      作成したシステムスクリプトまたは組み込みのデフォルトスクリプトのいずれかを選択できます。次のデフォルトシステムスクリプトが使用できます:

      • Sys_Default_PurgeTempDB - 一時データベースファイルを消去します。

      • Sys_Default_VerifyAllDB - すべてのデータベースファイルにデータベースの整合性の検証を実行します。

      • Sys_Default_RunGarbageCollection - プライマリマシン上で Web 公開エンジンの Java ガベージコレクションを実行します。

      • Sys_Default_RunGarbageCollection_On_Secondary - セカンダリマシン上で Web 公開エンジンの Java ガベージコレクションを実行します。

    • 必要な [引数] を入力します。

    • デフォルト以外のアカウントでスクリプトを実行する必要がある場合、アカウント情報を入力します。

      • Windows: [ユーザ名] は、プライマリマシンのローカルアカウントまたはネットワークドメインアカウントを参照し、「ドメイン名¥ユーザ名」または「ユーザ名 @ ドメイン名」の形式で指定する必要があります。デフォルトアカウントはローカルシステムです。

      • macOS: [ユーザ名] は、プライマリマシンのローカルアカウントのみを参照し、ドメイン名なしで指定する必要があります。デフォルトアカウントは fmserver ユーザアカウントです。次のメモの macOS のアクセス権に関する情報を参照してください。

    • 必要に応じてスクリプトに [タイムアウト] を設定します。

    スクリプトシーケンス

    • 共有データベースの一覧からデータベースを選択します。

    • 選択したデータベースの FileMaker スクリプトの一覧から、必要な任意の引数を指定してスクリプトを選択します。

    • FileMaker スクリプトの前に実行するシステムスクリプトを選択して必要な引数を指定します。

    • FileMaker スクリプトの後に実行するシステムスクリプトを選択して必要な引数を指定します。

    • デフォルト以外のアカウントでスクリプトを実行する必要がある場合、アカウント情報を入力します。

    • 前処理システムスクリプトおよび後処理システムスクリプトの両方を省略すると、スケジュールタイプスクリプトシーケンスではなく FileMaker スクリプトに変更されます。

    検証

    • [検証タイプ] を選択します: [すべてのデータベース]、[フォルダ内のデータベース]、[データベースを選択]。

    • [クライアントへのメッセージ] を入力して、データベースの整合性を確認するためにデータベースが一時的に閉じられることをユーザに通知します。

  2. [スケジュール名] を入力します。

  3. スケジュールの [繰り返し] を選択します。スケジュール繰り返しの例を参照してください。

    選択項目 目的

    1 回

    指定した日付と時刻に 1 回実行します。

    毎日

    毎日実行します:

    • 1 日に 1 回、[時刻] で指定した時間に実行します。入力した日付の指定した時刻から開始されます。

    • 1 日に複数回、[範囲] で指定した時間に実行します。

    毎週

    1 日または数日実行します。[曜日] でスケジュールを実行する曜日を選択します。

    N 日ごと

    日数 (2 日、3 日、4 日など) が指定されたスケジュールを作成します。[実行する頻度] で実行する間隔を選択します。

    • [開始日] を選択するか、現在の日付のままにします。

    • [1 回] 以外のすべてのスケジュールでは、[終了日の設定] を選択してカレンダーから日付を選択することによって終了日を設定できます。

    • タスクスケジュールを 1 回実行するには、[時刻] で時間を選択します。次に、タスクスケジュールを実行する時間を指定します。

    • タスクスケジュールを複数回実行するには、[範囲] で時間を選択します。タスクを繰り返す時間の範囲を 00:00 から 23:59 までの間で指定します。次に、[繰り返す頻度] で分単位または時間単位で繰り返す間隔を指定します。

メモ 

  • Linux プラットフォーム上でスクリプトを実行するユーザアカウントを使用するには、/etc/sudoers ファイルに次のエントリを追加する必要があります:

    • Host_Alias FMSHOST = ユーザのホスト名

      Defaults:fmserver targetpw, timestamp_timeout=0, passwd_tries=1

      fmserver FMSHOST = (ALL) /opt/FileMaker/FileMaker\ Server/Data/Scripts/*, /bin/kill

  • macOS でスクリプトを実行するユーザアカウントを使用するには /etc/sudoers ファイルに次のエントリを追加する必要があります:

    Host_Alias FMSHOST = ユーザのホスト名
    Defaults:fmserver targetpw, timestamp_timeout=0, passwd_tries=1
    fmserver FMSHOST = (ALL) /Library/FileMaker\ Server/Data/Scripts/*, /bin/kill

    ホストのエイリアスには、FileMaker Server を実行するホストの名前を入力します。「localhost」または 127.0.0.1 は使用できません。使用する正しいホスト名を検索するには、ターミナルアプリケーションで次のコマンドを入力します:

    hostname

    /etc/sudoers ファイルを編集するには、管理アクセス権を持つ管理者 (root) である必要があります。ターミナルアプリケーションで次のコマンドを使用して /etc/sudoers ファイルを編集できます:

    sudo visudo

  • macOS のアクセス権: システムスクリプトの実行に使用するユーザアカウントには、スクリプトに実行させる操作に対する正しいアクセス権が必要です。fmserver、またはプライマリマシンのローカルユーザアカウントのみを使用できます。

    fmserver を選択すると、スクリプトのファイルアクセス権の修正が必要な場合があります。スクリプトは fmserver ユーザ ID および fmsadmin グループ ID で実行されます。スクリプトファイルには fmsadmin グループの読み出しおよび実行アクセス権が必要です。したがって、アクセス権が設定されているコマンドの中には、fmserver を選択するとスクリプトから呼び出すことができないものがあります。たとえば、スクリプトは「/etc」フォルダにアクセスできません。

  • 追加する [スクリプト名] および [引数] は、最大 2048 文字です。

  • Windows: [ユーザ名] は最大 104 文字、[パスワード] は最大 128 文字です。

  • macOS: [ユーザ名] は最大 255 文字、[パスワード] は最大 31 文字です。