GPSなST1も自動起動にしてみました。
getnema.rb
#!/usr/local/bin/mruby
port = "/dev/cuau0"
ser = SerialPort.new(port, 9600, 8, 1, 0)
ser.flow_control=0
ser.flush
getutc = 0
while getutc == 0 do
line = ser.gets
para = line.split(",")
if para[0] == "$GPZDA"
print para[4] + para[3] + para[2] + para[1].slice(0,4) + "." + para[1].slice(4,2)
getutc = 1
end
if para[0] == "$GPRMC"
print para[9].slice(4,2) + para[9].slice(2,2) + para[9].slice(0,2) + para[1].slice(0,4) + "." + para[1].slice(4,2)
getutc = 1
end
end
これで拾ったUTC時間をdate -uで設定したあとにntpdを起動します。
ST2は以下のようにしました。
#!/bin/sh
while :
do
ntpdate 10.0.1.22
if [ $? == 0 ]; then
break
fi
ntpdate 10.0.1.20
if [ $? == 0 ]; then
break
fi
done
ntpd -p /var/run/ntpd.pid
ST1から日時を拾えてからntpdを起動します。