-
Notifications
You must be signed in to change notification settings - Fork 0
/
fastd-peers-update
executable file
·62 lines (50 loc) · 1.99 KB
/
fastd-peers-update
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash -e
################################################################################
# peers syncronisation git -> gw
################################################################################
# 1. Abholen der keys aus git
# 2. Rechte anpassen
# 3. ggf fastd keys neu einlesen
#
# cron job anlegen
# */15 * * * * /home/freifunk/scripts/fastd-peers-update > /var/log/fastd-peers-update.log 2> /var/log/fastd-peers-update.err
################################################################################
#CHANGELOG
# V1.0 2014-01-07 little.ben
# - Ersterstellung
# V1.1 2015-03-06 paalsteek
# - Ordner über Variablen besser konfigurierbar
# V1.2 2015-07-12 zaunei
# - Gruppe ffadm in freifunk geaendert
# - Logs werden nun in /var/log/ hinterlegt
################################################################################
PEERSDIR="/etc/fastd/ffwp-mesh-vpn/peers/"
LOGDIR="/var/log/"
# in peers-Ordner wechseln
cd "${PEERSDIR}"
# git sync
git pull >"${LOGDIR}"fastd-peers-update-pull.log 2>"${LOGDIR}"fastd-peers-update-pull.err
#git pull
################################################################################
# Rechte und Besitzer aendern bei allen Dateien im peers-Ordner
# (ausser im Unterordner .git)
find -type f ! -path "*.git*" -exec chmod 664 {} \;
find -type f ! -path "*.git*" -exec chown :freifunk {} \;
cd ..
# Rechte und Besitzer des peers-Ordners ansich aendern
chown :freifunk peers/
chmod 755 peers/
################################################################################
# fastd keys neu einlesen, falls was geaendert wurde
S1=`cat "${LOGDIR}"/fastd-peers-update-pull.log`
S2='Already up-to-date.'
#http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-11.html
#http://stackoverflow.com/questions/2237080/how-to-compare-strings-in-bash-script
PID=`pidof fastd`
if [ "$S1" != "$S2" ];then
#/usr/bin/pkill -HUP fastd #pkill geht nicht im cron
kill -s HUP $PID
logger "fastd keys neu eingelesen"
#echo "fastd keys neu eingelesen"
fi
exit 0