Go to main content
Oracle® Solaris 11.3 でのシステムサービスの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

定期的またはスケジュールされているサービスをスケジュールする方法

定期的またはスケジュールされているサービスは、一定の間隔で、またはサービスのプロパティー値を設定することによって指定した時間で、その起動メソッドを実行します。

  1. スケジュールするサービスが定期的なサービスなのかスケジュールされているサービスなのかを確認します。

    次のコマンドは、リスタータが periodic-restarter サービスであるすべてのインスタンスを一覧表示するため、システムのすべての定期的およびスケジュールされているサービスを一覧表示します。

    $ svcs -R svc:/system/svc/periodic-restarter:default

    svcs -lsvcprop、または svccfg を使用して、general/restarter プロパティーの値を表示することもできます。

  2. サービスの現在のスケジュールを表示します。

    次のコマンドは、インスタンスが定期的なサービスであるのかスケジュールされているサービスであるのかを示します。定期的なサービスには periodic プロパティーグループ、スケジュールされているサービスには scheduled プロパティーグループがあります。

    $ svcprop -p periodic -p scheduled FMRI

    FMRI が定期的なサービスである場合、periodic/period プロパティー、および設定されているその他の periodic プロパティーの値が表示されます。scheduled プロパティーグループに関するエラーメッセージが表示されます。

    FMRI がスケジュールされているサービスである場合、scheduled/interval および scheduled/frequency プロパティー、および設定されているその他の scheduled プロパティーの値が表示されます。periodic プロパティーグループに関するエラーメッセージが表示されます。

  3. スケジュールを変更します。

    値のないプロパティーは、svcprop または svccfg listprop コマンドで表示されません。必要なスケジュールを実現するために設定するプロパティーを判断するには、次のリファレンスを使用します。

    前に設定されていないプロパティーを設定する場合は、使用例 21に示すようにプロパティータイプを指定する必要があります。そのプロパティー値をリセットする場合は、もう一度プロパティータイプを指定する必要はありません。また、前に設定されていないプロパティーを設定すると、次のメッセージが表示されます。

    Type required for new properties.
  4. 変更されたプロパティー値を読み取ります。

    svcadm または svccfg コマンドを使用して、サービスインスタンスをリフレッシュします。svcprop コマンドを再度使用して、periodic または scheduled プロパティー値が更新されていることを確認します。

  5. サービスインスタンスがオンラインであることを確認します。

    プロパティー値を変更しているときにインスタンスが無効になったか、またはリフレッシュを実行したときにインスタンスが保守状態になった可能性があります。インスタンスが保守状態にある場合は、サービスログファイルの表示の説明に従ってログファイルを表示します。可能性のある問題は次のとおりです。

    • 競合するプロパティーが設定されています。たとえば、scheduled/day_of_month および scheduled/day プロパティー値の両方は設定できません。

    • すべての必須プロパティーが設定されていません。たとえば、day および minute だけでは設定できず、hour も設定する必要があります。

    サービスを保守状態から移行させる詳細については、保守状態のインスタンスの修復方法を参照してください。

  6. スケジュールを確認します。

    次のコマンドは、サービスが次回実行される時間を示します。

    $ svcs -o nrun FMRI

    スケジュールが表示されない場合は、インスタンスがオンラインになっていることを確認します。

使用例 25  コンプライアンス評価サービスのスケジュール

次のコマンドは、コンプライアンス評価サービスが現在毎週 1 回実行するようにスケジュールされていることを示しています。

$ svcprop -p scheduled compliance:default
scheduled/frequency integer 1
scheduled/interval astring week

このスケジュールでは、インスタンスは最初の週はあらゆる曜日のあらゆる時間に実行できます。その後の週では、同じ曜日のいずれかの時間に実行されます。

次のコマンドは、毎週水曜日の午前 3 時から午前 4 時までのいずれかの時間に開始メソッドが起動するようにインスタンスを設定します。

$ svccfg -s compliance:default
svc:/application/security/compliance:default> setprop scheduled/day=Wednesday
Type required for new properties.
svc:/application/security/compliance:default> setprop scheduled/day = astring: Wednesday
svc:/application/security/compliance:default> setprop scheduled/hour = integer: 3
svc:/application/security/compliance:default> refresh
svc:/application/security/compliance:default> exit
$ svcs compliance:default
STATE          STIME    FMRI
online         13:16:57 svc:/application/security/compliance:default
$ svcs -o nrun compliance:default
NRUN
 3:27:16