]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/scripts/settime
python3-msgpack: Fix build on i586
[people/pmueller/ipfire-2.x.git] / src / scripts / settime
1 #!/bin/sh
2 #
3 # IPCop CGIs
4 #
5 # This file is part of the IPCop Project
6 #
7 # This code is distributed under the terms of the GPL
8 #
9 # (c) Eric Oberlander June 2002
10 # (c) Eric Oberlander December 2002 - internationalisation added
11 #
12 # /usr/local/bin/settime
13
14 ongreen=1
15 green=$(cat /var/ipfire/ethernet/settings | grep GREEN_NETADDRESS)
16 if [ -z "$green" ]; then
17 : # no Green subnet
18 else
19 green=${green##*=}; green="${green%.*}.[0-9]"
20 if [ -n "$(cat /var/ipfire/time/settime.conf | grep $green)" ]; then
21 ongreen=0 # NTP on Green
22 fi
23 fi
24
25 onorange=1
26 orange=$(cat /var/ipfire/ethernet/settings | grep ORANGE_NETADDRESS)
27 if [ -z "$orange" ]; then
28 : # no Orange subnet
29 else
30 orange=${orange##*=}; orange="${orange%.*}.[0-9]"
31 if [ -n "$(cat /var/ipfire/time/settime.conf | grep $orange)" ]; then
32 onorange=0 # NTP on Orange
33 fi
34 fi
35
36 # find out language
37 tlanguage=$(cat /var/ipfire/main/settings | grep LANGUAGE)
38 tlanguage=${tlanguage##*=}
39
40 if [ -n "$1" ]; then
41 if [ -e /var/ipfire/red/active ] || [ "$ongreen" -eq 0 ] || [ "$onorange" -eq 0 ]; then
42 /usr/bin/ntpdate -su $1 $2
43 ntpdatetest=$?
44
45 if [ "$ntpdatetest" -eq 0 ]; then
46 case $tlanguage in
47 en ) date "+%X %Z on %d %B %Y" > /var/lock/time/lastset ;
48 logger -t ipfire "NTP synchronisation event" ;;
49 de ) date "+%X Uhr am %d.%m.%Y" > /var/lock/time/lastset ;
50 logger -t ipfire "NTP Synchronisierung" ;;
51 * ) date "+%X %Z, %Y-%m-%d" > /var/lock/time/lastset ;
52 logger -t ipfire "NTP synchronisation" ;;
53 esac
54
55 /sbin/hwclock --systohc
56 rm -f /var/lock/time/settimenow
57 # reset counter variable
58 cp /var/ipfire/time/counter.conf /var/lock/time/counter
59 else
60 case $tlanguage in
61 de ) logger -t ipfire "ntpdate fehlerhaft" ;;
62 * ) logger -t ipfire "ntpdate error" ;;
63 esac
64 fi
65 fi
66 else
67 echo Missing parameter
68 fi