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