Ik heb initieel de scripts in de /config/scripts/ staan aangezien deze de upgrade overleeft. Omdat bij elke up/downgrade alles weer opnieuw ingereld moet worden, heb ik dit script die ik eenmalig afvuur na een up/downgrade:
code:
1
2
3
4
5
6
7
8
9
10
| #!/bin/sh
# Bij elk ssh commando dien je eerst de RSA key te accepteren, das vervelend dus dan maar zo
printf "%s\t%s\n" "StrictHostKeyChecking=no" >> /etc/ssh/ssh_config
# Hopsa, eerst even de pakkettenlijst updaten
apt-get update
# Nu sshpass installeren
apt-get install sshpass -y |
Goed, nu ben ik er klaar voor, sshpass is geïnstalleerd, hostkey checking disabled. Weet wel, alle veiligheid is overboord. Daarom gebruik ik dit ook alleen maar intern.
In mijn Edgerouter config staat een scheduled task aangemaakt die elke 24uur een script uitvoert. Dit script, daar kom ik zo op maar hier een voorbeeld van een scheduled task binnen de Edgerouter config.
code:
1
2
3
4
5
6
7
| jeroen@Router01# show system task-scheduler
task Rundaily {
executable {
path /config/scripts/rundaily.sh
}
interval 24h
} |
Mijn rundaily script doet een check bij Yahoo weather. Hierbij vraag ik op hoe laat de zon onder gaat want die tijd heb ik nodig om de volgende serie scripts te schedulen. Ik bedien er namelijk ook de Ubiquiti mFi's mee maar ook de Unifi AP's. Simpel gezegd, zon onder = lampen aan en de Unifi blauwe ring naar witte ring. En dat vindt ik persoonlijk prettiger in de avond.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| #!/bin/bash
SUNSET=`curl -s http://weather.yahooapis.com/forecastrss?w=731469|grep astronomy| awk -F\" '{print $4}'` #Het cijfer geeft je locatie aan
SUNSET=`echo $SUNSET | awk '{print $1}'`
SUNSETH=`date +%_H --date=$SUNSET`
SUNSETM=`date +%_M --date=$SUNSET`
if [[ "$SUNSETM" -lt 15 ]]
then
SUNSETH=$((SUNSETH+11))
SUNSETM=$((SUNSETM+45))
else
SUNSETH=$((SUNSETH+12))
SUNSETM=$((SUNSETM-5)) # Deze -5 is de tijd die van de actual sunset tijd afgehaald wordt
fi
LIGHTSON=`date +%H:%M --date=$SUNSETH:$SUNSETM`
at -f /config/scripts/mfi1.sh $LIGHTSON
at -f /config/scripts/mfi2.sh $LIGHTSON
at -f /config/scripts/mfi3.sh $LIGHTSON
at -f /config/scripts/apkamer_wit.sh $LIGHTSON
at -f /config/scripts/apzolder_wit.sh $LIGHTSON
at -f /config/scripts/apkamer_blauw.sh 7:00am
at -f /config/scripts/apzolder_blauw.sh 7:00am |
Nu het script op mijn UAP-AC naar wit te veranderen:
code:
1
2
| #!/bin/bash
nohup sshpass -p 'password' ssh -t -t username@ipaddress 'echo 2 > /proc/gpio/led_pattern; exit' |
Of terug naar blauw:
code:
1
2
| #!/bin/bash
nohup sshpass -p 'password' ssh -t -t username@ipaddress 'echo 1 > /proc/gpio/led_pattern; exit' |
De code voor een non UAP-AC zou moeten zijn led_status ipv led_pattern maar zeker weten doe ik het niet. Gewoon proberen dus.
code:
1
2
| #!/bin/bash
nohup sshpass -p 'password' ssh -t -t username@ipaddress 'echo 2 > /proc/gpio/led_status; exit' |
De nummers betekenen de volgende kleuren/status etc maar ook hier, ik heb echt niet alles getest of geprobeerd.
0 - uit
1 - donker groen (PRO/AC = blauw)
2 - oranje (PRO/AC wit)
3 - licht groen
10 - knipperen (licht groen / uit)
12 - knipperen (donker groen / oranje)
13 - knipperen (donker groen / licht groen)
20 - knipperen (oranje / uit)
23 - knipperen (licht groen / oranje)
30 - knipperen (licht groen / off)
Heel veel plezier