思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【FreeBSD13.4,13.5】イントラネットタイムサーバーとの時刻同期(2)

前に作った、いい加減な”イントラネットタイムサーバーとの時刻同期用スクリプト”に本質的な欠陥があったので修正しようと思います(^^;;;)。【注*1

前に作った、”イントラネットタイムサーバーとの時刻同期用スクリプト”[*2]は、”am-utils”が起動していることが前提ですが、起動順序等の理由から、メインファイルサーバー上のスクリプトを実行できない状態になっていました。

そこで、現在のFreeBSDの作成作法に従って起動時実行スクリプトの修正をする事にしました。

1. スクリプトの修正

修正を行うのは、各サーバーが起動時に実行するスクリプトになります。

(1)各サーバー用起動時実行スクリプトの修正

 

root@mainsv:# cd /Share/scripts/common ; nfsエクスポートディレクトリに移動。
root@mainsv:# touch Syncdate ; 空のファイルを作成。
root@mainsv:# chmod +x Syncdate ; 実行許可を与える。
root@mainsv:# vi Syncdate ;

 

下記の内容で作成します。

#!/bin/sh
# PROVIDE: Syncdate
# REQUIRE: bgfsck
. /etc/rc.subr
name="Syncdate"
rcvar="Syncdate_enable"
command=/share/scripts/common/syncdate.sh
load_rc_config $name
run_rc_command "$1"


スクリプトの名前を定義。
実行順序を”bgfsck”の後にする。
rc スクリプトが共通に使用するサブルーチンを定義したファイルを読み込む。
スクリプトの名前を変数に定義。
rc.confのどの変数が制御に使用されているかを定義。
実行するスクリプト絶対パスを定義。
コンフィグレーションの読み込み。
コマンドの実行。

2. 各サーバーの設定

(1)各サーバーへのスクリプトをコピー

各サーバーへの設定は、上記で作成した各サーバー用起動時実行スクリプトを”/usr/local/etc/rc.d”にコピーします😀。

root@FreeBSD:# cd /usr/local/etc/rc.d    
root@FreeBSD:# cp /share/scripts/common/Syncdate .    

 

(2)rc.confの修正

vi rc.confを修正します。

root@FreeBSD:# cd /etc    

root@FreeBSD:# vi rc.conf

 

下記の黄色字部分を追加します。

[..]

rpc_statd_enable="YES"
Syncdate_enable="YES"

 

 

ブログランキング・にほんブログ村へにほんブログ村 IT技術ブログへ

出典・引用・備考

*1:この投稿の内容は、特定の機種並びに特定の環境での確認結果になります。
同等機種や異なる環境での動作他を保証するものではありませんので、ご留意いただけます様お願いいたします。

*2: