Solaris 10以降では、SMFを使用することをお勧めしますが、以前のリリースでは、/ etc / init.dにinitスクリプトを作成し、rcX.dディレクトリからリンクします。rsyncデーモンを起動するためのinitスクリプトの基本的な例を次に示します。
#!/sbin/sh
startcmd () {
/usr/local/bin/rsync --daemon # REPLACE WITH YOUR COMMANDS
}
stopcmd () {
pkill -f "/usr/local/bin/rsync --daemon" # REPLACE WITH YOUR COMMANDS
}
case "$1" in
'start')
startcmd
;;
'stop')
stopcmd
;;
'restart')
stopcmd
sleep 1
startcmd
;;
*)
echo "Usage: $0 { start | stop | restart }"
exit 1
;;
esac
各rcX.dディレクトリからスクリプトへのリンクを作成します(「S」/「K」の規則に従います)。
ln rsync /etc/rc3.d/S91rsync
for i in `ls -1d /etc/rc*.d | grep -v 3`; do ln rsync $i/K02rsync; done
各rcX.dディレクトリのREADMEを参照し、マニュアルページでinit.dを確認してください。これがmanページの一部です:
rc?.dディレクトリ内のファイル名は[SK] nnの形式です。ここで、Sはこのジョブを開始することを意味し、Kはこのジョブを強制終了することを意味し、nnはジョブを強制終了または開始するための相対シーケンス番号です。
状態(init S、0,2,3など)に入ると、rc [S0-6]スクリプトは、/ etc / rc [S0-6] .d内で、接頭辞Kが付いたスクリプトの後に接頭辞が付いたスクリプトを実行します。 / etc / rc [S0-6]ディレクトリの1つで各スクリプトを実行すると、/ sbin /rc[S0-6]スクリプトは単一の引数を渡します。Kのプレフィックスが付いたスクリプトの場合は引数「stop」を渡し、プレフィックスの付いたスクリプトの場合は引数「start」を渡します。同じシーケンス番号を複数のスクリプトに適用しても問題はありません。