19 lines
856 B
Bash
Executable file
19 lines
856 B
Bash
Executable file
#!/bin/sh
|
|
NUM=0
|
|
while read FOO; do
|
|
HOST="`echo $FOO | cut -d\| -f1`"
|
|
MAC="`echo $FOO | cut -d\| -f2 | tr '[A-Z]' '[a-z]'`"
|
|
IP="`echo $FOO | cut -d\| -f3`"
|
|
if ! echo $HOST | egrep -q "(server|spare)"; then
|
|
>&2 echo provisining host $HOST mac $MAC ip $IP num $NUM
|
|
ssh pi@$HOST "if [ ! -d \$HOME/.ssh ]; then mkdir \$HOME/.ssh; fi; echo `cat $HOME/.ssh/id_rsa.pub` >> \$HOME/.ssh/authorized_keys; chmod 700 \$HOME/.ssh; chmod 644 \$HOME/.ssh/authorized_keys"
|
|
for FILE in HOSTS SERVERIP stream.sh set_hostname.sh v4lcap.c; do scp $FILE pi@$HOST:$FILE; done
|
|
ssh pi@$HOST "make v4lcap"
|
|
ssh pi@$HOST "cd \$HOME && bash set_hostname.sh"
|
|
ssh pi@$HOST "sudo reboot"
|
|
NUM=$((NUM+1))
|
|
elif echo $HOST | grep -q server; then
|
|
>&2 echo found server at ip $IP
|
|
echo $IP > SERVERIP
|
|
fi
|
|
done < HOSTS
|