Files
bpfire/src/scripts/settime
2008-11-15 16:18:12 +01:00

69 lines
1.8 KiB
Bash

#!/bin/sh
#
# IPCop CGIs
#
# This file is part of the IPCop Project
#
# This code is distributed under the terms of the GPL
#
# (c) Eric Oberlander June 2002
# (c) Eric Oberlander December 2002 - internationalisation added
#
# /usr/local/bin/settime
ongreen=1
green=$(cat /var/ipfire/ethernet/settings | grep GREEN_NETADDRESS)
if [ -z "$green" ]; then
: # no Green subnet
else
green=${green##*=}; green="${green%.*}.[0-9]"
if [ -n "$(cat /var/ipfire/time/settime.conf | grep $green)" ]; then
ongreen=0 # NTP on Green
fi
fi
onorange=1
orange=$(cat /var/ipfire/ethernet/settings | grep ORANGE_NETADDRESS)
if [ -z "$orange" ]; then
: # no Orange subnet
else
orange=${orange##*=}; orange="${orange%.*}.[0-9]"
if [ -n "$(cat /var/ipfire/time/settime.conf | grep $orange)" ]; then
onorange=0 # NTP on Orange
fi
fi
# find out language
tlanguage=$(cat /var/ipfire/main/settings | grep LANGUAGE)
tlanguage=${tlanguage##*=}
if [ -n "$1" ]; then
if [ -e /var/ipfire/red/active ] || [ "$ongreen" -eq 0 ] || [ "$onorange" -eq 0 ]; then
/usr/bin/ntpdate -su $1 $2
ntpdatetest=$?
if [ "$ntpdatetest" -eq 0 ]; then
case $tlanguage in
en ) date "+%X %Z on %d %B %Y" > /var/lock/time/lastset ;
logger -t ipfire "NTP synchronisation event" ;;
de ) date "+%X Uhr am %d.%m.%Y" > /var/lock/time/lastset ;
logger -t ipfire "NTP Synchronisierung" ;;
* ) date "+%X %Z, %Y-%m-%d" > /var/lock/time/lastset ;
logger -t ipfire "NTP synchronisation" ;;
esac
/sbin/hwclock --systohc
rm -f /var/lock/time/settimenow
# reset counter variable
cp /var/ipfire/time/counter.conf /var/lock/time/counter
else
case $tlanguage in
de ) logger -t ipfire "ntpdate fehlerhaft" ;;
* ) logger -t ipfire "ntpdate error" ;;
esac
fi
fi
else
echo Missing parameter
fi