在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