Как организовать управление группой ПК: различия между версиями

Материал из IT в школе
Перейти к навигацииПерейти к поиску
нет описания правки
м (Грамматическая ошибка)
Строка 1: Строка 1:




Строка 64: Строка 65:
done
done
</syntaxhighlight>
</syntaxhighlight>
=== Как управлять всеми ПК сразу (при наличии сервера управления) ===
По просьбе, делюсь опытом администрирования ПК МОС. У меня два здания, в каждом имеется свой сервер на Linux (в моем случае ubuntu - просто сервер старше чем МОС, но конкретный дитрибутив не важен).
На каждом сервере 2 сетевые карты, одна смотрит грубо говоря в сеть Study (но подключено естественно проводом) с фиксированным адресом 172.ххх.ххх.16, Другая - в сеть панелей 10.xxx.xxx.26
Сервера маломощные, уровня i3 первого поколения. Два установлены для надежности(чтобы здания были независимы) . На них также работает samba и asterisk, а такжже запись с видеокамер компьютерных классов.
На всех ПК прописываем в кронтаб запуск скрипта '''onreboot.sh''' при загрузке.
Для этого запускаем от root '''crontab -e''' и добавляем туда С ПЕРЕВОДОМ СТРОКИ В КОНЦЕ (это важно)<syntaxhighlight lang="bash">
@reboot /root/onreboot.sh
</syntaxhighlight>чтобы использовать нормальные редактор нужно сначала заменить в файле /etc/bashrc.d/editor.sh vim на mcedit
Файл /root/onreboo.sh<syntaxhighlight lang="bash">
#!/bin/bash
SCHOOL=`hostname | awk -F "-" '{print $1}' `
KORP=`hostname | awk -F "-" '{print $2}' `
TYPE=${SCHOOL:0:1}
if [ "${KORP}" == "1" ] ; then
SERVER=172.xxx.xxx.xxx
NET=172.xxx
if [ "${TYPE}" == "p" ]; then
SERVER=10.xxx.xxx
NET=10.xxx.xxx
fi
fi
if [ "${KORP}" == "2" ] ; then
SERVER=172.xxx.xxx.xxx
NET=172.xxx
if [ "${TYPE}" == "p" ]; then
SERVER=10.xxx.xxx.xxx
NET=10.xxx.xxx
fi
fi
UP=`ifconfig  | grep -A2 ${NET} | grep UP`
while [ -z "${UP}" ]
do
echo TEST UP
UP=`ifconfig  | grep -A2 ${NET} | grep UP`
sleep 10
done
PING=`ping -c 10 ${SERVER} | grep " 0% "`
while [ ! -z ${PING} ]
do
echo TEST PING
PING=`ping -c 10 ${SERVER} | grep " 0% "`
done
rm /tmp/start.sh
wget -O /tmp/start.sh http://${SERVER}/start.sh
bash /tmp/start.sh
while true
do
wget -O /tmp/reg.sh http://${SERVER}/reg.sh
bash /tmp/reg.sh
echo "wait 60"
sleep 60
done
</syntaxhighlight>Скрипт по hostname вычисляет номер корпуса и тип ПК (панель/ не панель) и по этой информации вычисляет адрес сервера в той сети к которой он подключен
Затем скрип ожидает поднятия сетевого интерфейса  и появления устойчивого пинга на сервер.
Потом загружает с сервера файл start.sh и запускает его.
После этого периодически (каждые 60 сек ) загружает и запускает файл reg.sh
[[Категория:Скрипты]]
[[Категория:Скрипты]]
[[Категория:МОС]]
[[Категория:МОС]]

Навигация