svcbundle コマンドを使用して、スケジュールされているサービスを作成する場合、service-name と start-method の両方のプロパティーとともに interval プロパティーを指定する必要があります。デフォルトで、svcbundle は transient サービスを作成します。-s period を指定すると、svcbundle によって定期的なサービスが作成されます。
この例では、このサービスの起動メソッドの名前は sched_ex です。この実行可能ファイルを /lib/svc/method/sched_ex にコピーします。
この例では、サービス名は site/sched_ex です。起動メソッドのスケジューリングの間隔を指定します。bundle-type、duration、model、rc-script、refresh-method、または stop-method のどのプロパティーも指定しないでください。
$ svcbundle -o /tmp/sched_ex.xml -s service-name=site/sched_ex \ -s start-method=/lib/svc/method/sched_ex -s interval=week
interval プロパティーを指定すると、svcbundle によって scheduled_method 要素が作成され、これにより、マニフェストのインポート時にサービスのリスタータは定期的なリスタータに設定されます。interval プロパティーの値は、scheduled_method 要素の interval 属性の値になります。start-method プロパティーの値は、scheduled_method 要素の exec 属性の値になります。
/tmp/ex_svc.xml マニフェストの内容が必要なものかを検証します。次のような変更を行うことができます。
scheduled_method 要素に追加の制約を指定します。
不規則な間隔での呼び出しのスケジュールで説明されているように、タイプ schedule の追加のプロパティーグループを指定します。
scheduled_method 要素に method_context 要素を追加します。
デフォルトのインスタンスの enabled 属性の値を true から false に変更します。
サービスの内容とサービスのプロパティーの使用方法を説明するコメントを追加します。
svccfg validate コマンドを使用して、サービスマニフェストが有効であることを確認します。
$ cp /tmp/sched_ex.xml /lib/svc/manifest/site/sched_ex.xml
$ svcadm restart manifest-import
新しいサービスが存在し、予想される状態になっていることを検証します。
$ svcs sched_ex