在solaris 中建立 rsync service

在solaris 中建立rsync service

這裡下載rsync的manifest檔,檔名為rsync.xml

下載下來後, 我做了下列修改以符合我的環境:

<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">

<service_bundle type="manifest" name="rsync">

  <service name="network/rsync" type="service" version="4">

    <create_default_instance enabled="false"/>

    <single_instance/>

    <!--
    If there's no network, then there's no point in running 
    -->
    <dependency
      name="loopback"
      grouping="require_all"
      restart_on="error"
      type="service">
      <service_fmri value="svc:/network/loopback:default"/>
    </dependency>

    <dependency
      name="physical"
      grouping="require_all"
      restart_on="error"
      type="service">
      <service_fmri value="svc:/network/physical:nwam"/>
    </dependency>

    <dependency
      name="fs-local"
      grouping="require_all"
      restart_on="none"
      type="service">
      <service_fmri value="svc:/system/filesystem/local"/>
    </dependency>

    <exec_method
      type="method"
      name="start"
      exec="/usr/bin/rsync --daemon"
      timeout_seconds="60"/>

    <exec_method
      type="method"
      name="stop"
      exec=":kill"
      timeout_seconds="60"/>

    <exec_method
      type="method"
      name="refresh"
      exec=":kill -HUP"
      timeout_seconds="60"/>

    <stability value="Unstable"/>

    <template>
      <common_name>
    <loctext xml:lang="C">RSYNC daemon</loctext>
      </common_name>

      <documentation>
    <manpage title="rsync" section="7"/>
    <doc_link name="rsync.org" uri="http://www.rsync.org/docs/"/>
      </documentation>
    </template>
  </service>
</service_bundle>

將rsync.xml 拷貝到/var/svc/manifest/network目錄

server# cp rsync.xml /var/svc/manifest/network

使用xmllint 來檢查這個xml檔的語法是否有問題

server# xmllint --valid /var/svc/manifest/network/rsync.xml

使用svccfg來匯入此xml檔

server# svccfg
svc:> import /var/svc/manifest/network/rsync.xml
svc:> quit

在/etc目錄中建立rsync.conf及rsync.secret檔案, 參考這裡

然後就可以使用svcadm來啟用這個service啦

server# svcadm enable svc:/network/rsync

使用svcs來確認此service使否有啟動

server# svcs -a | grep rsync
online         14:09:25 svc:/network/rsync:default

參考資料:

Deploying services through Solaris 10 SMF (RSYNC Example)

This entry was posted in Solaris and tagged , . Bookmark the permalink.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *