Переезд
This commit is contained in:
commit
78c7beb99e
55 changed files with 1194 additions and 0 deletions
6
Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
Normal file
6
Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 1
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.1 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.2 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.3 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/2. Площадка 2
Normal file
6
Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/2. Площадка 2
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 2
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.4 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.5 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.6 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/3. Площадка 3
Normal file
6
Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/3. Площадка 3
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 3
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.7 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.8 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.9 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/1. Сегмент 1/2. ЛПУ 2/1. Площадка 1
Normal file
6
Lists_of_switches/1. Сегмент 1/2. ЛПУ 2/1. Площадка 1
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 1
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.1 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.2 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.3 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/1. Сегмент 1/2. ЛПУ 2/2. Площадка 2
Normal file
6
Lists_of_switches/1. Сегмент 1/2. ЛПУ 2/2. Площадка 2
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 2
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.4 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.5 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.6 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/1. Сегмент 1/2. ЛПУ 2/3. Площадка 3
Normal file
6
Lists_of_switches/1. Сегмент 1/2. ЛПУ 2/3. Площадка 3
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 3
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.7 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.8 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.9 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/1. Сегмент 1/3. ЛПУ 3/1. Площадка 1
Normal file
6
Lists_of_switches/1. Сегмент 1/3. ЛПУ 3/1. Площадка 1
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 1
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.1 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.2 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.3 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/1. Сегмент 1/3. ЛПУ 3/2. Площадка 2
Normal file
6
Lists_of_switches/1. Сегмент 1/3. ЛПУ 3/2. Площадка 2
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 2
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.4 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.5 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.6 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/1. Сегмент 1/3. ЛПУ 3/3. Площадка 3
Normal file
6
Lists_of_switches/1. Сегмент 1/3. ЛПУ 3/3. Площадка 3
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 3
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.7 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.8 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.9 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/2. Сегмент 2/1. ЛПУ 1/1. Площадка 1
Normal file
6
Lists_of_switches/2. Сегмент 2/1. ЛПУ 1/1. Площадка 1
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 1
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.1 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.2 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.3 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/2. Сегмент 2/1. ЛПУ 1/2. Площадка 2
Normal file
6
Lists_of_switches/2. Сегмент 2/1. ЛПУ 1/2. Площадка 2
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 2
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.4 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.5 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.6 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/2. Сегмент 2/1. ЛПУ 1/3. Площадка 3
Normal file
6
Lists_of_switches/2. Сегмент 2/1. ЛПУ 1/3. Площадка 3
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 3
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.7 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.8 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.9 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/2. Сегмент 2/2. ЛПУ 2/1. Площадка 1
Normal file
6
Lists_of_switches/2. Сегмент 2/2. ЛПУ 2/1. Площадка 1
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 1
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.1 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.2 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.3 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/2. Сегмент 2/2. ЛПУ 2/2. Площадка 2
Normal file
6
Lists_of_switches/2. Сегмент 2/2. ЛПУ 2/2. Площадка 2
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 2
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.4 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.5 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.6 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/2. Сегмент 2/2. ЛПУ 2/3. Площадка 3
Normal file
6
Lists_of_switches/2. Сегмент 2/2. ЛПУ 2/3. Площадка 3
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 3
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.7 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.8 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.9 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/2. Сегмент 2/3. ЛПУ 3/1. Площадка 1
Normal file
6
Lists_of_switches/2. Сегмент 2/3. ЛПУ 3/1. Площадка 1
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 1
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.1 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.2 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.3 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/2. Сегмент 2/3. ЛПУ 3/2. Площадка 2
Normal file
6
Lists_of_switches/2. Сегмент 2/3. ЛПУ 3/2. Площадка 2
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 2
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.4 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.5 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.6 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/2. Сегмент 2/3. ЛПУ 3/3. Площадка 3
Normal file
6
Lists_of_switches/2. Сегмент 2/3. ЛПУ 3/3. Площадка 3
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 3
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.7 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.8 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.9 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/3. Сегмент 3/1. ЛПУ 1/1. Площадка 1
Normal file
6
Lists_of_switches/3. Сегмент 3/1. ЛПУ 1/1. Площадка 1
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 1
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.1 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.2 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.3 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/3. Сегмент 3/1. ЛПУ 1/2. Площадка 2
Normal file
6
Lists_of_switches/3. Сегмент 3/1. ЛПУ 1/2. Площадка 2
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 2
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.4 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.5 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.6 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/3. Сегмент 3/1. ЛПУ 1/3. Площадка 3
Normal file
6
Lists_of_switches/3. Сегмент 3/1. ЛПУ 1/3. Площадка 3
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 3
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.7 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.8 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.9 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/3. Сегмент 3/2. ЛПУ 2/1. Площадка 1
Normal file
6
Lists_of_switches/3. Сегмент 3/2. ЛПУ 2/1. Площадка 1
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 1
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.1 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.2 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.3 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/3. Сегмент 3/2. ЛПУ 2/2. Площадка 2
Normal file
6
Lists_of_switches/3. Сегмент 3/2. ЛПУ 2/2. Площадка 2
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 2
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.4 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.5 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.6 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/3. Сегмент 3/2. ЛПУ 2/3. Площадка 3
Normal file
6
Lists_of_switches/3. Сегмент 3/2. ЛПУ 2/3. Площадка 3
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 3
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.7 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.8 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.9 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/3. Сегмент 3/3. ЛПУ 3/1. Площадка 1
Normal file
6
Lists_of_switches/3. Сегмент 3/3. ЛПУ 3/1. Площадка 1
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 1
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.1 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.2 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.3 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/3. Сегмент 3/3. ЛПУ 3/2. Площадка 2
Normal file
6
Lists_of_switches/3. Сегмент 3/3. ЛПУ 3/2. Площадка 2
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 2
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.4 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.5 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.6 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
6
Lists_of_switches/3. Сегмент 3/3. ЛПУ 3/3. Площадка 3
Normal file
6
Lists_of_switches/3. Сегмент 3/3. ЛПУ 3/3. Площадка 3
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Площадка 3
|
||||
Выберите коммутатор:
|
||||
=============================
|
||||
1. 10.30.0.7 swpl1-core Cisco WS-C6509-E
|
||||
2. 10.30.0.8 swpl1-a1 Cisco WS-C2960S-48TS-L
|
||||
3. 10.30.0.9 swpl1-a2 Cisco WS-C2960S-48TS-L
|
||||
28
Modules/choose_your_equipments.sh
Normal file
28
Modules/choose_your_equipments.sh
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
#!/bin/bash
|
||||
|
||||
selected_segment_=$(echo "$sort_list_segments_" | sed -n "${segment_}p")
|
||||
#Считываются папки, в которых содержатся файлы с IP-адресами коммутаторов и выводятся списком, обозначая сегменты оборудования.
|
||||
list_lpu_="$(ls "$path_to_script/Deus_networkus/Lists_of_switches/$selected_segment_/")"
|
||||
#Сортируем список в порядке возрастания
|
||||
sort_list_lpu_=$(echo -e "$list_lpu_" | sort -n)
|
||||
#Выводится список ЛПУ, отсортированный по числам
|
||||
echo "$sort_list_lpu_"
|
||||
echo "============================="
|
||||
read lpu_
|
||||
if [[ -z "$lpu_" ]]; then
|
||||
continue
|
||||
fi
|
||||
selected_lpu_=$(echo "$sort_list_lpu_" | sed -n "${lpu_}p")
|
||||
#Считываются файлы, соответствующие местам установки, с IP-адресами оборудования
|
||||
list_places_="$(ls "$path_to_script/Deus_networkus/Lists_of_switches/$selected_segment_/$selected_lpu_/")"
|
||||
#Сортируем список в порядке возрастания
|
||||
sort_list_places_=$(echo -e "$list_places_" | sort -n)
|
||||
echo "$sort_list_places_"
|
||||
echo "============================="
|
||||
read place_
|
||||
if [[ -z "$place_" ]]; then
|
||||
continue
|
||||
fi
|
||||
selected_place_=$(echo "$sort_list_places_" | sed -n "${place_}p")
|
||||
list_switches_=$(ls "$path_to_script/Deus_networkus/Lists_of_switches/$selected_segment_/$selected_lpu_/$selected_place_")
|
||||
export list_switches_
|
||||
474
Modules/commands.sh
Normal file
474
Modules/commands.sh
Normal file
|
|
@ -0,0 +1,474 @@
|
|||
#!/bin/bash
|
||||
|
||||
cat << EOF
|
||||
+-------------------------------------------------------------------------------+
|
||||
| Модуль |
|
||||
| для массовой рассылки списка команд |
|
||||
+-------------------------------------------------------------------------------+
|
||||
EOF
|
||||
|
||||
while : #Запускается основной цикл
|
||||
do
|
||||
echo "Добро пожаловать в модуль для управления оборудованием"
|
||||
echo "========================="
|
||||
echo "Введите имя пользователя:"
|
||||
read user_
|
||||
path_to_script=$1
|
||||
path_to_results= #Введите путь до папки, где хранится вывод данных
|
||||
#Скрыть ввод пароля
|
||||
stty_orig=$(stty -g)
|
||||
stty -echo
|
||||
read -p "Введите пароль: " pass_
|
||||
#Возврат нормального ввода
|
||||
stty "$stty_orig"
|
||||
#Функция для создания бэкапов
|
||||
function lets_go_backup {
|
||||
#Адреса из массива передаются в переменную
|
||||
for ip_ in "${ips_[@]}"; do
|
||||
#Проверка на правильность написания IP-адреса
|
||||
if [[ -z "$ip_" || "$ip_" == \#* ]]; then
|
||||
continue
|
||||
fi
|
||||
echo -e "\033[0;32mПодключение к $ip_\033[0m"
|
||||
sshpass -p "$pass_" ssh -o StrictHostKeyChecking=no $user_@$ip_ "sh run" > "$path_to_results/Данные со скрипта/Backups/$ip_.config.txt"
|
||||
echo -e "\033[0;32mОтключение от $ip_\033[0m"
|
||||
#Поиск названия оборудования
|
||||
name_=$(cat " $path_to_results/Данные со скрипта/Backups/$ip_.config.txt" | grep "hostname")
|
||||
name_words=($name_)
|
||||
#Переименование выходного файла
|
||||
mv "$path_to_results/Данные со скрипта/Backups/$ip_.config.txt" "$path_to_results/Данные со скрипта/Backups/${name_words[1]}.txt"
|
||||
done
|
||||
}
|
||||
#Функция для сохранения конфигурации Cisco, Eltex, Natex
|
||||
function lets_go_save_cisco_eltex_natex {
|
||||
echo -e "\033[0;32mПодключение к $ip_\033[0m"
|
||||
sshpass -p "$pass_" ssh -o StrictHostKeyChecking=no $user_@$ip_ "write memory"
|
||||
echo -e "\033[0;32mОтключение от $ip_\033[0m"
|
||||
}
|
||||
#Функция для сохранения конфигурации Arlan
|
||||
function lets_go_save_arlan {
|
||||
echo -e "\033[0;32mПодключение к $ip_\033[0m"
|
||||
sshpass -p "$pass_" ssh -o StrictHostKeyChecking=no $user_@$ip_ "copy running-config startup-config"
|
||||
echo -e "\033[0;32mОтключение от $ip_\033[0m"
|
||||
}
|
||||
#Функция для передачи команд на коммутаторы
|
||||
function lets_go_command {
|
||||
#Команды из списка команд передаются по SSH
|
||||
echo -e "\033[0;32mПодключение к $ip_\033[0m"
|
||||
sshpass -p "$pass_" ssh -o StrictHostKeyChecking=no $user_@$ip_ < "$1/Deus_networkus/instructions_.txt"
|
||||
echo -e "\033[0;32mОтключение от $ip_\033[0m"
|
||||
}
|
||||
#Создаём список для IP-адресов
|
||||
ips_=()
|
||||
#Создаём переменные для ведоров
|
||||
cisco_list=()
|
||||
eltex_list=()
|
||||
natex_list=()
|
||||
arlan_list=()
|
||||
#Значение переменной считывается и выбирается соответствующее ему действие
|
||||
echo " "
|
||||
echo "Выберите действие, которое хотите сделать."
|
||||
echo "1. Сделать бэкап коммутатора на свой ПК."
|
||||
echo "2. Сохранить конфигурацию коммутатора."
|
||||
echo "3. Передать команды на коммутатор."
|
||||
read command_
|
||||
#Цикл для выбора объектов для бэкапа
|
||||
if [ $command_ == "1" ]; then
|
||||
echo "IP-адреса из своего списка или из готовых?"
|
||||
echo "1. Свой"
|
||||
echo "2. Готовый"
|
||||
read list_
|
||||
if [ $list_ == "1" ]; then
|
||||
echo "Список уже готов или Вы хотите создать его прямо сейчас?"
|
||||
echo "1. Готов"
|
||||
echo "2. Сделаю сейчас"
|
||||
read ready_
|
||||
if [ $ready_ == "1" ]; then
|
||||
#Передача списка адресов в переменную
|
||||
ip_="$1/Deus_networkus/ip_.txt"
|
||||
#Передача списка адресов в массив
|
||||
mapfile -t ips_ < "$ip_"
|
||||
lets_go_backup
|
||||
fi
|
||||
if [ $ready_ == "2" ]; then
|
||||
#Создаём переменную, в которую сохраним путь к файлу с IP-адресами
|
||||
output_file="$1/Deus_networkus/ip_.txt"
|
||||
#Очистим файл
|
||||
> "$output_file"
|
||||
echo "Введите IP-адреса. Для завершения используйте Ctrl+D"
|
||||
#Считываем данные и передаём их в файл
|
||||
while read -p "IP адрес: " ip_address; do
|
||||
echo "$ip_address" >> "$output_file"
|
||||
done
|
||||
echo "Ввод завершён. IP-адреса сохранены."
|
||||
#Передача списка адресов в переменную
|
||||
ip_="$1/Deus_networkus/ip_.txt"
|
||||
#Передача списка адресов в массив
|
||||
mapfile -t ips_ < "$ip_"
|
||||
lets_go_backup
|
||||
fi
|
||||
fi
|
||||
if [ $list_ == "2" ]; then
|
||||
echo " "
|
||||
echo "Какое оборудование Вам нужно? "
|
||||
echo "============================="
|
||||
#Считываются папки, в которых содержатся папки с площадками и выводятся списком, обозначая сегменты оборудования.
|
||||
list_segments_="$(ls "$1/Deus_networkus/Lists_of_switches/")"
|
||||
#Сортируем список в порядке возрастания
|
||||
sort_list_segments_=$(echo -e "$list_segments_" | sort -n)
|
||||
#Выводится список сегментов, отсортированный по числам
|
||||
echo "$sort_list_segments_"
|
||||
#Выбирается сегмент
|
||||
read segment_
|
||||
#Запускается скрипт для вывода списка оборудования из папок
|
||||
source "$path_to_script/Deus_networkus/Modules/choose_your_equipments.sh"
|
||||
#Получаем строки из файла и находим IP-адреса
|
||||
ips_+=$(grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" "$list_switches_")
|
||||
#Передаём адреса в файл и в массив. Потом это нужно упростить и сделать напрямую, без файла.
|
||||
echo "$ips_" > "$1/Deus_networkus/ip_.txt"
|
||||
mapfile -t ips_ < "$1/Deus_networkus/ip_.txt"
|
||||
lets_go_backup
|
||||
fi
|
||||
fi
|
||||
if [ $command_ == "2" ]; then
|
||||
echo "IP-адреса из своего списка или из готовых?"
|
||||
echo "1. Свой"
|
||||
echo "2. Готовый"
|
||||
read list_
|
||||
if [ $list_ == "1" ]; then
|
||||
#Запрос вендора
|
||||
echo "Выберите вендора:"
|
||||
echo "1. Cisco, Eltex, Natex"
|
||||
echo "2. Arlan"
|
||||
read vendor_
|
||||
echo "Список уже готов или Вы хотите создать его прямо сейчас?"
|
||||
echo "1. Готов"
|
||||
echo "2. Сделаю сейчас"
|
||||
read ready_
|
||||
if [ $ready_ == "1" ]; then
|
||||
#Передача списка адресов в переменную
|
||||
ip_list="$1/Deus_networkus/ip_.txt"
|
||||
#Передача списка адресов в массив
|
||||
mapfile -t ips_ < "$ip_list"
|
||||
#Адреса из массива передаются в переменную и согласно вендора запускается необходимая функция
|
||||
for ip_ in "${ips_[@]}"; do
|
||||
#Проверка на правильность написания IP-адреса
|
||||
if [[ -z "$ip_" || "$ip_" == \#* ]]; then
|
||||
continue
|
||||
fi
|
||||
if [ $vendor_ == "1" ]; then
|
||||
lets_go_save_cisco_eltex_natex
|
||||
sleep 1
|
||||
elif [ $vendor_ == "2" ]; then
|
||||
lets_go_save_arlan
|
||||
sleep 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if [ $ready_ == "2" ]; then
|
||||
#Создаём переменную, в которую сохраним путь к файлу с IP-адресами
|
||||
output_file="$1/Deus_networkus/ip_.txt"
|
||||
#Очистим файл
|
||||
> "$output_file"
|
||||
echo "Введите IP-адреса. Для завершения используйте Ctrl+D"
|
||||
#Считываем данные и передаём их в файл
|
||||
while read -p "IP адрес: " ip_address; do
|
||||
echo "$ip_address" >> "$output_file"
|
||||
done
|
||||
echo "Ввод завершён. IP-адреса сохранены."
|
||||
#Передача списка адресов в переменную
|
||||
ip_list="$1/Deus_networkus/ip_.txt"
|
||||
#Передача списка адресов в массив
|
||||
mapfile -t ips_ < "$ip_list"
|
||||
#Адреса из массива передаются в переменную и согласно вендора запускается необходимая функция
|
||||
for ip_ in "${ips_[@]}"; do
|
||||
#Проверка на правильность написания IP-адреса
|
||||
if [[ -z "$ip_" || "$ip_" == \#* ]]; then
|
||||
continue
|
||||
fi
|
||||
if [ $vendor_ == "1" ]; then
|
||||
lets_go_save_cisco_eltex_natex
|
||||
sleep 1
|
||||
elif [ $vendor_ == "2" ]; then
|
||||
lets_go_save_arlan
|
||||
sleep 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if [ $list_ == "2" ]; then
|
||||
echo " "
|
||||
echo "Какое оборудование Вам нужно? "
|
||||
echo "============================="
|
||||
#Считываются папки, в которых содержатся папки с площадками и выводятся списком, обозначая сегменты оборудования.
|
||||
list_segments_="$(ls "$1/Deus_networkus/Lists_of_switches/")"
|
||||
#Сортируем список в порядке возрастания
|
||||
sort_list_segments_=$(echo -e "$list_segments_" | sort -n)
|
||||
#Выводится список сегментов, отсортированный по числам
|
||||
echo "$sort_list_segments_"
|
||||
#Выбирается сегмент
|
||||
read segment_
|
||||
#Запускается скрипт для вывода списка оборудования из папок
|
||||
source "$path_to_script/Deus_networkus/Modules/choose_your_equipments.sh"
|
||||
#Содержимое файла передаётся в переменную
|
||||
switches_=$(cat "$list_switches_")
|
||||
#Строки проверяются на наличие названий вендоров и распределяются в соотвествующие списки. Потом эти списки проверяются на наличие IP-адресов и они сохраняются в отдельные переменные.
|
||||
cisco_list=$(echo "$switches_" | grep "Cisco")
|
||||
cisco_ips=$(echo "$cisco_list" | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
|
||||
eltex_list=$(echo "$switches_" | grep "Элтекс")
|
||||
eltex_ips=$(echo "$eltex_list" | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
|
||||
natex_list=$(echo "$switches_" | grep "Натекс")
|
||||
natex_ips=$(echo "$natex_list" | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
|
||||
arlan_list=$(echo "$switches_" | grep "Арлан")
|
||||
arlan_ips=$(echo "$arlan_list" | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
|
||||
#Если переменные не пустые, то выполняется команда к каждому IP-адресу из списка.
|
||||
if [ "$cisco_ips" != "" ]; then
|
||||
echo "$cisco_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_save_cisco_eltex_natex
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ "$eltex_ips" != "" ]; then
|
||||
echo "$eltex_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_save_cisco_eltex_natex
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ "$natex_ips" != "" ]; then
|
||||
echo "$natex_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_save_cisco_eltex_natex
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ "$arlan_ips" != "" ]; then
|
||||
echo "$arlan_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_save_arlan
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
|
||||
fi
|
||||
fi
|
||||
if [ $command_ == "3" ]; then
|
||||
echo "IP-адреса из своего списка или из готовых?"
|
||||
echo "1. Свой"
|
||||
echo "2. Готовый"
|
||||
read list_
|
||||
if [ $list_ == "1" ]; then
|
||||
echo "Список уже готов или Вы хотите создать его прямо сейчас?"
|
||||
echo "1. Готов"
|
||||
echo "2. Сделаю сейчас"
|
||||
read ready_
|
||||
if [ $ready_ == "1" ]; then
|
||||
echo "Команды уже записаны в файл или записать сейчас?"
|
||||
echo "1. Уже записаны"
|
||||
echo "2. Записать сейчас"
|
||||
read commands_ready
|
||||
if [ $commands_ready == "1" ]; then
|
||||
#Передача списка адресов в переменную
|
||||
ip_list="$1/Deus_networkus/ip_.txt"
|
||||
#Передача списка адресов в массив
|
||||
mapfile -t ips_ < "$ip_list"
|
||||
#Адреса из массива передаются в переменную
|
||||
for ip_ in "${ips_[@]}"; do
|
||||
#Проверка на правильность написания IP-адреса
|
||||
if [[ -z "$ip_" || "$ip_" == \#* ]]; then
|
||||
continue
|
||||
fi
|
||||
lets_go_command
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ $commands_ready == "2" ]; then
|
||||
#Создаём переменную, в которую сохраним путь к файлу с IP-адресами
|
||||
output_commands_file="$1/Deus_networkus/instructions_.txt"
|
||||
#Очистим файл
|
||||
> "$output_commands_file"
|
||||
echo "Введите команды. Для завершения используйте Ctrl+D"
|
||||
#Считываем данные и передаём их в файл
|
||||
while read -p "Команда: " command_to_file; do
|
||||
echo "$command_to_file" >> "$output_commands_file"
|
||||
done
|
||||
echo "Ввод завершён. Команды сохранены."
|
||||
#Передача списка адресов в переменную
|
||||
ip_list="$1/Deus_networkus/ip_.txt"
|
||||
#Передача списка адресов в массив
|
||||
mapfile -t ips_ < "$ip_list"
|
||||
#Адреса из массива передаются в переменную
|
||||
for ip_ in "${ips_[@]}"; do
|
||||
#Проверка на правильность написания IP-адреса
|
||||
if [[ -z "$ip_" || "$ip_" == \#* ]]; then
|
||||
continue
|
||||
fi
|
||||
lets_go_command
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if [ $ready_ == "2" ]; then
|
||||
#Создаём переменную, в которую сохраним путь к файлу с IP-адресами
|
||||
output_file="$1/Deus_networkus/ip_.txt"
|
||||
#Очистим файл
|
||||
> "$output_file"
|
||||
echo "Введите IP-адреса. Для завершения используйте Ctrl+D"
|
||||
#Считываем данные и передаём их в файл
|
||||
while read -p "IP адрес: " ip_address; do
|
||||
echo "$ip_address" >> "$output_file"
|
||||
done
|
||||
echo "Ввод завершён. IP-адреса сохранены."
|
||||
echo "Команды уже записаны в файл или записать сейчас?"
|
||||
echo "1. Уже записаны"
|
||||
echo "2. Записать сейчас"
|
||||
read commands_ready
|
||||
if [ $commands_ready == "1" ]; then
|
||||
#Передача списка адресов в переменную
|
||||
ip_list="$output_file"
|
||||
#Передача списка адресов в массив
|
||||
mapfile -t ips_ < "$ip_list"
|
||||
#Адреса из массива передаются в переменную
|
||||
for ip_ in "${ips_[@]}"; do
|
||||
#Проверка на правильность написания IP-адреса
|
||||
if [[ -z "$ip_" || "$ip_" == \#* ]]; then
|
||||
continue
|
||||
fi
|
||||
lets_go_command
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ $commands_ready == "2" ]; then
|
||||
#Создаём переменную, в которую сохраним путь к файлу с IP-адресами
|
||||
output_commands_file="$1/Deus_networkus/instructions_.txt"
|
||||
#Очистим файл
|
||||
> "$output_commands_file"
|
||||
echo "Введите команды. Для завершения используйте Ctrl+D"
|
||||
#Считываем данные и передаём их в файл
|
||||
while read -p "Команда: " command_to_file; do
|
||||
echo "$command_to_file" >> "$output_commands_file"
|
||||
done
|
||||
echo "Ввод завершён. Команды сохранены."
|
||||
#Передача списка адресов в переменную
|
||||
ip_list="$1/Deus_networkus/ip_.txt"
|
||||
#Передача списка адресов в массив
|
||||
mapfile -t ips_ < "$ip_list"
|
||||
#Адреса из массива передаются в переменную
|
||||
for ip_ in "${ips_[@]}"; do
|
||||
#Проверка на правильность написания IP-адреса
|
||||
if [[ -z "$ip_" || "$ip_" == \#* ]]; then
|
||||
continue
|
||||
fi
|
||||
lets_go_command
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [ $list_ == "2" ]; then
|
||||
echo " "
|
||||
echo "Какое оборудование Вам нужно? "
|
||||
echo "============================="
|
||||
#Считываются папки, в которых содержатся папки с площадками и выводятся списком, обозначая сегменты оборудования.
|
||||
list_segments_="$(ls "$1/Deus_networkus/Lists_of_switches/")"
|
||||
#Сортируем список в порядке возрастания
|
||||
sort_list_segments_=$(echo -e "$list_segments_" | sort -n)
|
||||
#Выводится список сегментов, отсортированный по числам
|
||||
echo "$sort_list_segments_"
|
||||
#Выбирается сегмент
|
||||
read segment_
|
||||
#Запускается скрипт для вывода списка оборудования из папок
|
||||
source "$path_to_script/Deus_networkus/Modules/choose_your_equipments.sh"
|
||||
#Содержимое файла передаётся в переменную
|
||||
switches_=$(cat "$list_switches_")
|
||||
#Строки проверяются на наличие названий вендоров и распределяются в соотвествующие списки. Потом эти списки проверяются на наличие IP-адресов и они сохраняются в отдельные переменные.
|
||||
cisco_list=$(echo "$switches_" | grep "Cisco")
|
||||
cisco_ips=$(echo "$cisco_list" | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
|
||||
eltex_list=$(echo "$switches_" | grep "Элтекс")
|
||||
eltex_ips=$(echo "$eltex_list" | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
|
||||
natex_list=$(echo "$switches_" | grep "Натекс")
|
||||
natex_ips=$(echo "$natex_list" | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
|
||||
arlan_list=$(echo "$switches_" | grep "Арлан")
|
||||
arlan_ips=$(echo "$arlan_list" | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
|
||||
echo "Команды уже записаны в файл или записать сейчас?"
|
||||
echo "1. Уже записаны"
|
||||
echo "2. Записать сейчас"
|
||||
read commands_ready
|
||||
if [ $commands_ready == "1" ]; then
|
||||
#Если переменные не пустые, то выполняется команда к каждому IP-адресу из списка.
|
||||
if [ "$cisco_ips" != "" ]; then
|
||||
echo "$cisco_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_command $1
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ "$eltex_ips" != "" ]; then
|
||||
echo "$eltex_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_command $1
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ "$natex_ips" != "" ]; then
|
||||
echo "$natex_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_command $1
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ "$arlan_ips" != "" ]; then
|
||||
echo "$arlan_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_command $1
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if [ $commands_ready == "2" ]; then
|
||||
#Создаём переменную, в которую сохраним путь к файлу с IP-адресами
|
||||
output_commands_file="$1/Deus_networkus/instructions_.txt"
|
||||
#Очистим файл
|
||||
> "$output_commands_file"
|
||||
echo "Введите команды. Для завершения используйте Ctrl+D"
|
||||
#Считываем данные и передаём их в файл
|
||||
while read -p "Команда: " command_to_file; do
|
||||
echo "$command_to_file" >> "$output_commands_file"
|
||||
done
|
||||
echo "Ввод завершён. Команды сохранены."
|
||||
#Если переменные не пустые, то выполняется команда к каждому IP-адресу из списка.
|
||||
if [ "$cisco_ips" != "" ]; then
|
||||
echo "$cisco_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_command $1
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ "$eltex_ips" != "" ]; then
|
||||
echo "$eltex_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_command $1
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ "$natex_ips" != "" ]; then
|
||||
echo "$natex_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_command $1
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ "$arlan_ips" != "" ]; then
|
||||
echo "$arlan_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_command $1
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
echo -e "\033[32mЗадание выполнено!\033[0m"
|
||||
echo " "
|
||||
done
|
||||
26
Modules/network_test.sh
Normal file
26
Modules/network_test.sh
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
#!/bin/bash
|
||||
|
||||
while : #Запускается основной цикл
|
||||
do
|
||||
cat << EOF
|
||||
+-------------------------------------------------------------------------------+
|
||||
| Модуль |
|
||||
| для тестирования сетей |
|
||||
+-------------------------------------------------------------------------------+
|
||||
EOF
|
||||
|
||||
echo "Добро пожаловать в модуль для тестирования сетей"
|
||||
echo "========================="
|
||||
echo "Пинг стандартными (56 байт) пакетами"
|
||||
echo "========================="
|
||||
ping -c 10 $1
|
||||
echo "Пинг большими (1000 байт) пакетами"
|
||||
echo "========================="
|
||||
ping -s 1000 -c 10 $1
|
||||
echo "Маршрут до узла"
|
||||
echo "========================="
|
||||
traceroute $1
|
||||
echo -e "\033[32mПроверка выполнена\033[0m"
|
||||
read
|
||||
exit
|
||||
done
|
||||
185
Modules/ppr.sh
Normal file
185
Modules/ppr.sh
Normal file
|
|
@ -0,0 +1,185 @@
|
|||
#!/bin/bash
|
||||
|
||||
while : #Запускается основной цикл
|
||||
do
|
||||
cat << EOF
|
||||
+-------------------------------------------------------------------------------+
|
||||
| Модуль |
|
||||
| для проведения ППР на коммутаторах |
|
||||
+-------------------------------------------------------------------------------+
|
||||
EOF
|
||||
#Путь до папки со скриптами принимается при вызове скрипта
|
||||
path_to_script=$1
|
||||
date_=$(date +%Y)
|
||||
#Передача списка адресов в переменную
|
||||
ip_list="$path_to_script/Deus_networkus/ip_.txt"
|
||||
|
||||
echo "Добро пожаловать в модуль для проведения ППР"
|
||||
echo "========================="
|
||||
echo "Введите имя пользователя:"
|
||||
read user_
|
||||
#Скрыть ввод пароля
|
||||
stty_orig=$(stty -g)
|
||||
stty -echo
|
||||
read -p "Введите пароль:" pass_
|
||||
#Возврат нормального ввода
|
||||
stty "$stty_orig"
|
||||
|
||||
#Функция для передачи команд для проедения ППР
|
||||
function lets_go_ppr() {
|
||||
echo -e "\033[0;32mПодключение к $ip_\033[0m"
|
||||
echo "==========" > $ip_.ppr.txt
|
||||
echo "SHOW RUN" >> $ip_.ppr.txt
|
||||
echo "==========" >> $ip_.ppr.txt
|
||||
sshpass -p "$pass_" ssh -o StrictHostKeyChecking=no $user_@$ip_ "sh run" >> $ip_.ppr.txt
|
||||
echo "==========" >> $ip_.ppr.txt
|
||||
echo "SHOW LOG" >> $ip_.ppr.txt
|
||||
echo "==========" >> $ip_.ppr.txt
|
||||
sshpass -p "$pass_" ssh -o StrictHostKeyChecking=no $user_@$ip_ "sh log" >> $ip_.ppr.txt
|
||||
echo "==========" >> $ip_.ppr.txt
|
||||
echo "SHOW VERSION" >> $ip_.ppr.txt
|
||||
echo "==========" >> $ip_.ppr.txt
|
||||
sshpass -p "$pass_" ssh -o StrictHostKeyChecking=no $user_@$ip_ "sh ver" >> $ip_.ppr.txt
|
||||
echo -e "\033[0;32mОтключение от $ip_\033[0m"
|
||||
#Поиск названия оборудования
|
||||
name_=$(cat $ip_.ppr.txt | grep "hostname")
|
||||
name_words=($name_)
|
||||
#Переименование выходного файла
|
||||
mv $ip_.ppr.txt "/home/$USER@sgp.gazprom.ru/Документы/Данные со скрипта/PPR/${name_words[1]}.PPR.$date_.txt"
|
||||
}
|
||||
|
||||
function lets_go_exctract_ips {
|
||||
echo "$lpu_list" | while IFS= read -r line; do
|
||||
switches_list="$path_to_script$(echo "$line")"
|
||||
switches_=$(cat "$switches_list")
|
||||
#Строки проверяются на наличие названий вендоров и распределяются в соотвествующие списки. Потом эти списки проверяются на наличие IP-адресов и они сохраняются в отдельные переменные.
|
||||
cisco_list=$(echo "$switches_" | grep "Cisco")
|
||||
cisco_ips=$(echo "$cisco_list" | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
|
||||
eltex_list=$(echo "$switches_" | grep "Элтекс")
|
||||
eltex_ips=$(echo "$eltex_list" | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
|
||||
natex_list=$(echo "$switches_" | grep "Натекс")
|
||||
natex_ips=$(echo "$natex_list" | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
|
||||
arlan_list=$(echo "$switches_" | grep "Арлан")
|
||||
arlan_ips=$(echo "$arlan_list" | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
|
||||
#Если переменные не пустые, то выполняется команда к каждому IP-адресу из списка.
|
||||
if [ "$cisco_ips" != "" ]; then
|
||||
echo "$cisco_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_ppr
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ "$eltex_ips" != "" ]; then
|
||||
echo "$eltex_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_ppr
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ "$natex_ips" != "" ]; then
|
||||
echo "$natex_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_ppr
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
if [ "$arlan_ips" != "" ]; then
|
||||
echo "$arlan_ips" | while IFS= read -r line; do
|
||||
ip_=$line
|
||||
lets_go_ppr
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
echo "IP-адреса из своего списка или из готовых?"
|
||||
echo "1. Свой"
|
||||
echo "2. Готовый"
|
||||
read list_
|
||||
if [ $list_ == "1" ]; then
|
||||
#Передача списка адресов в массив
|
||||
mapfile -t ips_ < "$ip_list"
|
||||
#Адреса из массива передаются в переменную
|
||||
for ip_ in "${ips_[@]}"; do
|
||||
#Проверка на правильность написания IP-адреса
|
||||
if [[ -z "$ip_" || "$ip_" == \#* ]]; then
|
||||
continue
|
||||
fi
|
||||
lets_go_ppr
|
||||
done
|
||||
fi
|
||||
if [ $list_ == "2" ]; then
|
||||
cisco_list=()
|
||||
eltex_list=()
|
||||
natex_list=()
|
||||
arlan_list=()
|
||||
echo "Какой месяц нужен?"
|
||||
echo "1. Январь"
|
||||
echo "2. Февраль"
|
||||
echo "3. Март"
|
||||
echo "4. Апрель"
|
||||
echo "5. Май"
|
||||
echo "6. Июнь"
|
||||
echo "7. Июль"
|
||||
echo "8. Август"
|
||||
echo "9. Сентябрь"
|
||||
echo "10. Октябрь"
|
||||
echo "11. Ноябрь"
|
||||
echo "12. Декабрь"
|
||||
read sublist_
|
||||
if [ $sublist_ == "1" ]; then
|
||||
#Передаём IP-адреса в пременную
|
||||
lpu_list=$(cat "$path_to_script/Deus_networkus/Switch_PPR/January")
|
||||
lets_go_exctract_ips
|
||||
elif [ $sublist_ == "2" ]; then
|
||||
#Передаём IP-адреса в пременную
|
||||
lpu_list=$(cat "$path_to_script/Deus_networkus/Switch_PPR/February")
|
||||
lets_go_exctract_ips
|
||||
elif [ $sublist_ == "3" ]; then
|
||||
#Передаём IP-адреса в пременную
|
||||
lpu_list=$(cat "$path_to_script/Deus_networkus/Switch_PPR/March")
|
||||
lets_go_exctract_ips
|
||||
elif [ $sublist_ == "4" ]; then
|
||||
#Передаём IP-адреса в пременную
|
||||
lpu_list=$(cat "$path_to_script/Deus_networkus/Switch_PPR/April")
|
||||
lets_go_exctract_ips
|
||||
elif [ $sublist_ == "5" ]; then
|
||||
#Передаём IP-адреса в пременную
|
||||
lpu_list=$(cat "$path_to_script/Deus_networkus/Switch_PPR/May")
|
||||
lets_go_exctract_ips
|
||||
elif [ $sublist_ == "6" ]; then
|
||||
#Передаём IP-адреса в пременную
|
||||
lpu_list=$(cat "$path_to_script/Deus_networkus/Switch_PPR/June")
|
||||
lets_go_exctract_ips
|
||||
elif [ $sublist_ == "7" ]; then
|
||||
#Передаём IP-адреса в пременную
|
||||
lpu_list=$(cat "$path_to_script/Deus_networkus/Switch_PPR/July")
|
||||
lets_go_exctract_ips
|
||||
elif [ $sublist_ == "8" ]; then
|
||||
#Передаём IP-адреса в пременную
|
||||
lpu_list=$(cat "$path_to_script/Deus_networkus/Switch_PPR/August")
|
||||
lets_go_exctract_ips
|
||||
elif [ $sublist_ == "9" ]; then
|
||||
#Передаём IP-адреса в пременную
|
||||
lpu_list=$(cat "$path_to_script/Deus_networkus/Switch_PPR/September")
|
||||
lets_go_exctract_ips
|
||||
elif [ $sublist_ == "10" ]; then
|
||||
#Передаём IP-адреса в пременную
|
||||
lpu_list=$(cat "$path_to_script/Deus_networkus/Switch_PPR/October")
|
||||
lets_go_exctract_ips
|
||||
elif [ $sublist_ == "11" ]; then
|
||||
#Передаём IP-адреса в пременную
|
||||
lpu_list=$(cat "$path_to_script/Deus_networkus/Switch_PPR/November")
|
||||
lets_go_exctract_ips
|
||||
elif [ $sublist_ == "12" ]; then
|
||||
#Передаём IP-адреса в пременную
|
||||
lpu_list=$(cat "$path_to_script/Deus_networkus/Switch_PPR/December")
|
||||
lets_go_exctract_ips
|
||||
fi
|
||||
fi
|
||||
echo -e "\033[32mЗадание выполнено\033[0m"
|
||||
echo " "
|
||||
echo " "
|
||||
echo " "
|
||||
done
|
||||
17
Modules/telnet_connect_cisco.sh
Normal file
17
Modules/telnet_connect_cisco.sh
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
#! /usr/bin/expect
|
||||
#Используем модуль expect для того, чтобы принимать запросы и отвечать на них
|
||||
set timeout -1
|
||||
#Устанавливаем переменные, значения для которых приняли при вызове функции
|
||||
set ip_address [lindex $argv 0]
|
||||
set user [lindex $argv 1]
|
||||
set pass [lindex $argv 2]
|
||||
#Подключаемся с помощью telnet
|
||||
spawn telnet $ip_address 23
|
||||
#В ответ на запросы передаём ответы
|
||||
expect "username:"
|
||||
send "$user\r"
|
||||
|
||||
expect "password:"
|
||||
send "$pass\r"
|
||||
|
||||
interact
|
||||
17
Modules/telnet_connect_natex.sh
Normal file
17
Modules/telnet_connect_natex.sh
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
#! /usr/bin/expect
|
||||
#Используем модуль expect для того, чтобы принимать запросы и отвечать на них
|
||||
set timeout -1
|
||||
#Устанавливаем переменные, значения для которых приняли при вызове функции
|
||||
set ip_address [lindex $argv 0]
|
||||
set user [lindex $argv 1]
|
||||
set pass [lindex $argv 2]
|
||||
#Подключаемся с помощью telnet
|
||||
spawn telnet $ip_address 23
|
||||
#В ответ на запросы передаём ответы
|
||||
expect "Username:"
|
||||
send "$user\r"
|
||||
|
||||
expect "Password:"
|
||||
send "$pass\r"
|
||||
|
||||
interact
|
||||
6
Modules/update.sh
Normal file
6
Modules/update.sh
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
path_to_script=$1
|
||||
cd $path_to_script/Deus_networkus
|
||||
git pull origin master
|
||||
cp $path_to_script/Deus_networkus/config_ssh.txt /home/$USER/.ssh/config
|
||||
33
README.md
Normal file
33
README.md
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# Скрипт для подключения к сетевому оборудованию.
|
||||
|
||||
Версия скрипта имеет вид 1.0.0
|
||||
Последняя цифра означает изменения "под капотом", предпоследняя меняется при добавлении нового модуля, первая при глобальном изменении.
|
||||
|
||||
`deus_netwokus` - скрипт для управления сетевым оборудованием. Он содержит основное меню, функционал для подключения к оборудованию, а также запускает дополнительные модули.
|
||||
`commands` - модуль для передачи команд на оборудование
|
||||
`ppr` - модуль для проведения ППР
|
||||
`update` - скрипт для обновления
|
||||
`choose_your_equipments` - скрипт для вывода списка обрудования из папки `Lists_of_switches`
|
||||
|
||||
Для успешного использовния скрипта необходимо, чтобы на ПК были установлены:
|
||||
```
|
||||
1. SSH-клиент
|
||||
2. Telnet-клиент
|
||||
3. SSHpass
|
||||
```
|
||||
Проверка нужного ПО проводится при запуске скрипта, и если она не будет пройдена, то скрипт выведет список ПО, которое нужно установить.
|
||||
|
||||
Для подключения к коммутатору необходимо:
|
||||
1. Ввести логин и пароль от Tacacs;
|
||||
2. Выбрать нужный тип оборудования, нажав нужную цифру;
|
||||
3. Из появившегося списка цифрой выбрать необходимое ЛПУ;
|
||||
4. Цифрой выбрать нужный коммутатор.
|
||||
|
||||
Папка `Lists_of_switches` содержит папки с сегментами, они считываются автоматически и выводятся в меню. После выбора сегмента считываются папки с локациями, далее с площадкой. Далее считывается список оборудования на площадке. Далее выбранный IP-адрес проверяется по спискам `telnet_cisco`, `telnet_natex` и `WEB`. Если адрес находится в них, то запускается или соответствующий производителю оборудования скрипт для Telnet-подключения, или запускается браузер со страницей входа. Если IP-адреса нет в данных списках, то происходит SSH-подключение.
|
||||
|
||||
В файл `ip_.txt` заносятся IP-адреса для моудлей `commands` и `ppr`, к которым необходимо применить некоторые действия.
|
||||
В файл `instructions_.txt` заносятся команды для модуля `commands`, которые необходимо применить к оборудовани.
|
||||
В файл `instructions_for_ppr.txt` заносятся команды необходимые для проведения ППР.
|
||||
Файл `config_ssh.txt` содержит настройки для SSH-клиента, которые необходимо вставить в файл `~/.ssh/config`. Это делается автоматичски при обновлении скрипта.
|
||||
|
||||
Файлы с выводами сохраняются по пути, который указан в скрипте, например `/home/user/Documents/Данные со скрипта`.
|
||||
1
Switch_PPR/April
Normal file
1
Switch_PPR/April
Normal file
|
|
@ -0,0 +1 @@
|
|||
/Deus_networkus/Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
|
||||
1
Switch_PPR/August
Normal file
1
Switch_PPR/August
Normal file
|
|
@ -0,0 +1 @@
|
|||
/Deus_networkus/Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
|
||||
1
Switch_PPR/December
Normal file
1
Switch_PPR/December
Normal file
|
|
@ -0,0 +1 @@
|
|||
/Deus_networkus/Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
|
||||
1
Switch_PPR/February
Normal file
1
Switch_PPR/February
Normal file
|
|
@ -0,0 +1 @@
|
|||
/Deus_networkus/Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
|
||||
1
Switch_PPR/January
Normal file
1
Switch_PPR/January
Normal file
|
|
@ -0,0 +1 @@
|
|||
/Deus_networkus/Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
|
||||
1
Switch_PPR/July
Normal file
1
Switch_PPR/July
Normal file
|
|
@ -0,0 +1 @@
|
|||
/Deus_networkus/Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
|
||||
1
Switch_PPR/June
Normal file
1
Switch_PPR/June
Normal file
|
|
@ -0,0 +1 @@
|
|||
/Deus_networkus/Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
|
||||
1
Switch_PPR/March
Normal file
1
Switch_PPR/March
Normal file
|
|
@ -0,0 +1 @@
|
|||
/Deus_networkus/Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
|
||||
1
Switch_PPR/May
Normal file
1
Switch_PPR/May
Normal file
|
|
@ -0,0 +1 @@
|
|||
/Deus_networkus/Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
|
||||
1
Switch_PPR/November
Normal file
1
Switch_PPR/November
Normal file
|
|
@ -0,0 +1 @@
|
|||
/Deus_networkus/Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
|
||||
1
Switch_PPR/October
Normal file
1
Switch_PPR/October
Normal file
|
|
@ -0,0 +1 @@
|
|||
/Deus_networkus/Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
|
||||
1
Switch_PPR/September
Normal file
1
Switch_PPR/September
Normal file
|
|
@ -0,0 +1 @@
|
|||
/Deus_networkus/Lists_of_switches/1. Сегмент 1/1. ЛПУ 1/1. Площадка 1
|
||||
1
WEB
Normal file
1
WEB
Normal file
|
|
@ -0,0 +1 @@
|
|||
10.33.0.3
|
||||
0
config_ssh.txt
Normal file
0
config_ssh.txt
Normal file
225
deus_networkus.sh
Normal file
225
deus_networkus.sh
Normal file
|
|
@ -0,0 +1,225 @@
|
|||
#! /bin/bash
|
||||
|
||||
cat << EOF
|
||||
|
||||
██████╗░███████╗██╗░░░██╗░██████╗
|
||||
██╔══██╗██╔════╝██║░░░██║██╔════╝
|
||||
██║░░██║█████╗░░██║░░░██║╚█████╗░
|
||||
██║░░██║██╔══╝░░██║░░░██║░╚═══██╗
|
||||
██████╔╝███████╗╚██████╔╝██████╔╝
|
||||
╚═════╝░╚══════╝░╚═════╝░╚═════╝░
|
||||
|
||||
███╗░░██╗███████╗████████╗░██╗░░░░░░░██╗░█████╗░██████╗░██╗░░██╗██╗░░░██╗░██████╗
|
||||
████╗░██║██╔════╝╚══██╔══╝░██║░░██╗░░██║██╔══██╗██╔══██╗██║░██╔╝██║░░░██║██╔════╝
|
||||
██╔██╗██║█████╗░░░░░██║░░░░╚██╗████╗██╔╝██║░░██║██████╔╝█████═╝░██║░░░██║╚█████╗░
|
||||
██║╚████║██╔══╝░░░░░██║░░░░░████╔═████║░██║░░██║██╔══██╗██╔═██╗░██║░░░██║░╚═══██╗
|
||||
██║░╚███║███████╗░░░██║░░░░░╚██╔╝░╚██╔╝░╚█████╔╝██║░░██║██║░╚██╗╚██████╔╝██████╔╝
|
||||
╚═╝░░╚══╝╚══════╝░░░╚═╝░░░░░░╚═╝░░░╚═╝░░░╚════╝░╚═╝░░╚═╝╚═╝░░╚═╝░╚═════╝░╚═════╝░
|
||||
|
||||
+-------------------------------------------------------------------------------+
|
||||
| Скрипт |
|
||||
| для подключения к сетевому оборудованию |
|
||||
+-------------------------------------------------------------------------------+
|
||||
EOF
|
||||
# Устанавливаем список необхожимого софта и список для записи того чего у нас ещё нет
|
||||
soft_=("telnet" "xpra" "ssh" "sshpass")
|
||||
need_soft_=()
|
||||
# Проверяем наличие установленных программ по списку и добавлением необходимого в пустой список.
|
||||
# Если программа установлена, но возле неё отображается галочка, если нет - крестик.
|
||||
for program in "${soft_[@]}"
|
||||
do
|
||||
if [ -x "$(command -v $program)" ]; then
|
||||
echo -e "$program \033[32m✔\033[0m"
|
||||
else
|
||||
echo -e "$program \033[31m✘\033[0m"
|
||||
need_soft_+="$program"
|
||||
need_soft_+=" "
|
||||
fi
|
||||
done
|
||||
#Функция для ввода логина и пароля от оборудования (Tacacs или локальный)
|
||||
function lets_go_pass {
|
||||
echo "Введите имя пользователя:"
|
||||
read user_
|
||||
#Скрыть ввод пароля
|
||||
stty_orig=$(stty -g)
|
||||
stty -echo
|
||||
read -p "Введите пароль:" pass_
|
||||
#Возврат нормального ввода
|
||||
stty "$stty_orig"
|
||||
}
|
||||
#Указывается путь до папки со скриптами и до папки с хранением вывода
|
||||
path_to_script="/home/$USER/Документы/Scripts"
|
||||
path_to_date="/home/$USER/Документы"
|
||||
#Проверяем существуют ли папки для сохранения файлов с данными по работе скриптов
|
||||
if [ -d "$path_to_date/Данные со скрипта" ] && [ -d "$path_to_date/Данные со скрипта/Backups" ] && [ -d "$path_to_date/Данные со скрипта/PPR" ]; then
|
||||
echo "Все необходимые папки для сохранения данных имеются"
|
||||
else
|
||||
if ! [ -d "$path_to_date/Данные со скрипта" ]; then
|
||||
mkdir "$path_to_date/Данные со скрипта"
|
||||
fi
|
||||
if ! [ -d "$path_to_date/Данные со скрипта/Badckups" ]; then
|
||||
mkdir "$path_to_date/Данные со скрипта/Backups"
|
||||
fi
|
||||
if ! [ -d "$path_to_date/Данные со скрипта/PPR" ]; then
|
||||
mkdir "$path_to_date/Данные со скрипта/PPR"
|
||||
fi
|
||||
echo "Необходимые папки для работы скрипта созданы"
|
||||
fi
|
||||
#Указывается название терминала в системе
|
||||
your_terminal=mate-terminal
|
||||
echo "============================="
|
||||
# Если весь необходимый софт установлен, то запускается основной цикл
|
||||
if [[ ${#need_soft_[@]} == 0 ]]; then
|
||||
lets_go_pass
|
||||
|
||||
#Передаём в переменные списки с IP-адресами, чьи протоколы подключения отличаются от SSH
|
||||
telnet_cisco_=$(cat "$path_to_script/Deus_networkus/telnet_cisco")
|
||||
telnet_natex_=$(cat "$path_to_script/Deus_networkus/telnet_natex")
|
||||
WEB_=$(cat "$path_to_script/Deus_networkus/WEB")
|
||||
|
||||
#Разбиваем IP-адреса из файлов на переменные
|
||||
IFS=$'\n' read -ra telnet_cisco_array <<< "$telnet_cisco_"
|
||||
IFS=$'\n' read -ra telnet_natex_array <<< "$telnet_natex_"
|
||||
IFS=$'\n' read -ra WEB_array <<< "$WEB_"
|
||||
|
||||
#Вводим флаг для проверки наличия IP-адресов в списках
|
||||
found_=false
|
||||
|
||||
#Функция для вызова коммутатора
|
||||
function lets_go_connect {
|
||||
#Считывается аргумент, передаваемый при вызове функции, соответствующий порядковому номеру коммутатора
|
||||
line_number="$1"
|
||||
#Из списка IP-адресов выбирается нужный, согласно принятому аргументу
|
||||
selected_ip=$(echo "$ips_" | sed -n "${line_number}p")
|
||||
#Через терминал запускается сеанс mate-terminal, имя пользователя и пароль передаются из переменных, подтверждение подключения к новому хосту проводится автоматически.
|
||||
#Проверяются некоторые IP, которые не имеют SSH, и подключаются согласно доступным средствам.
|
||||
for item_ in "${telnet_cisco_array[@]}"; do
|
||||
if [[ "$item_" == "$selected_ip" ]]; then
|
||||
found_=true
|
||||
$your_terminal -e "$path_to_script/Deus_networkus/Modules/telnet_connect_cisco.sh "$selected_ip" "$user_" "$pass_""
|
||||
break
|
||||
fi
|
||||
done
|
||||
if ! $found_; then
|
||||
for item_ in "${telnet_natex_array[@]}"; do
|
||||
if [[ "$item_" == "$selected_ip" ]]; then
|
||||
found_=true
|
||||
$your_terminal -e "$path_to_script/Deus_networkus/Modules/telnet_connect_natex.sh "$selected_ip" "$user_" "$pass_""
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if ! $found_; then
|
||||
for item_ in "${WEB_array[@]}"; do
|
||||
if [[ "$item_" == "$selected_ip" ]]; then
|
||||
found_=true
|
||||
$your_terminal -e "firefox "$selected_ip""
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if ! $found_; then
|
||||
$your_terminal -e "sshpass -p "$pass_" ssh -o StrictHostKeyChecking=no $user_@$selected_ip"
|
||||
fi
|
||||
|
||||
found_=false
|
||||
}
|
||||
|
||||
while : #Запускается цикл вывода меню
|
||||
do
|
||||
echo " "
|
||||
echo "============================="
|
||||
echo "Какое оборудование Вам нужно? "
|
||||
echo "============================="
|
||||
#Считываются папки, в которых содержатся папки с площадками и выводятся списком, обозначая сегменты оборудования.
|
||||
list_segments_="$(ls "$path_to_script/Deus_networkus/Lists_of_switches/")"
|
||||
#Сортируем список в порядке возрастания
|
||||
sort_list_segments_=$(echo -e "$list_segments_" | sort -n)
|
||||
#Выводится список сегментов, отсортированный по числам
|
||||
echo "$sort_list_segments_"
|
||||
echo "============================="
|
||||
echo "Дополнительные модули:"
|
||||
echo "============================="
|
||||
echo "Введите 'commands' для передачи целого списка команд на разное оборудование."
|
||||
echo "Введите 'ppr' для проведения ППР коммутаторов."
|
||||
echo "Введите 'xpra' для настройки оборудования через подключение к удалённому ПК."
|
||||
echo "Введите 'tftp', чтобы поднять TFTP-сервер на 10.32.5.142"
|
||||
echo "Введите 'test', чтобы протестировать связь до узла"
|
||||
echo "Введите 'pass', чтобы обновить логин и пароль введёные ранее в скрипт"
|
||||
echo "Введите 'update' для обновления скрипта."
|
||||
#Выбирается сегмент
|
||||
read segment_
|
||||
#Проверка на пустой ввод
|
||||
if [[ -z "$segment_" ]]; then
|
||||
continue
|
||||
#Запуск модуля для передачи команд на оборудование
|
||||
elif [[ "$segment_" == "commands" ]]; then
|
||||
$your_terminal -e "$path_to_script/Deus_networkus/Modules/commands.sh $path_to_script"
|
||||
continue
|
||||
#Запуск модуля для проведения ППР
|
||||
elif [[ "$segment_" == "ppr" ]]; then
|
||||
$your_terminal -e "$path_to_script/Deus_networkus/Modules/ppr.sh $path_to_script"
|
||||
continue
|
||||
#Запуск модуля для обновления скрипта
|
||||
elif [[ "$segment_" == "update" ]]; then
|
||||
$your_terminal -e "$path_to_script/Deus_networkus/Modules/update.sh $path_to_script"
|
||||
sleep 1
|
||||
echo -e "\033[32mОбновление завершено\033[0m"
|
||||
exec "$0"
|
||||
#Запуск модуля для обновления логина и пароля
|
||||
elif [[ "$segment_" == "pass" ]]; then
|
||||
lets_go_pass
|
||||
continue
|
||||
#Подключение к оборудованию через удалённый ПК, с установленным Putty. Пользователь должен иметь root-права для подключения к Serial-порту.
|
||||
elif [[ "$segment_" == "xpra" ]]; then
|
||||
echo "Введите IP-адрес ПК к которому нужно подключиться"
|
||||
read ip_
|
||||
echo "Введите имя пользователя на сервере"
|
||||
read username_
|
||||
xpra start ssh://$username_@$ip_ --start=putty
|
||||
continue
|
||||
elif [[ "$segment_" == "tftp" ]]; then
|
||||
echo "Введите имя пользователя на сервере 10.32.5.142"
|
||||
read username_
|
||||
echo "Какая подсеть Вам нужна? "
|
||||
echo "============================="
|
||||
echo "1. АСУ ПХД"
|
||||
echo "2. АСУ ТП и КПТМ"
|
||||
read net_
|
||||
#Запускается скрипт для одной из подсетей. Файлы хранятсяя в папке /home/tftp
|
||||
if [ $net_ == "1" ]; then
|
||||
ssh -t $username_@10.32.5.142 "sudo python2 tftpgui/tftpgui.py tftpgui/tftpgui_phd.cfg --nogui"
|
||||
elif [ $net_ == "2" ]; then
|
||||
ssh -t $username_@10.32.5.142 "sudo python2 tftpgui/tftpgui.py tftpgui/tftpgui_tp.cfg --nogui"
|
||||
fi
|
||||
continue
|
||||
elif [[ "$segment_" == "test" ]]; then
|
||||
echo "Введите IP-адрес соединение до которого нужно проверить"
|
||||
read ip_
|
||||
$your_terminal -e "$path_to_script/Deus_networkus/Modules/network_test.sh $ip_"
|
||||
continue
|
||||
fi
|
||||
#Запускается скрипт для вывода списка оборудования из папок
|
||||
source "$path_to_script/Deus_networkus/Modules/choose_your_equipments.sh"
|
||||
#Пока не будет нажат Enter, будет появляться список оборудования
|
||||
while :
|
||||
do
|
||||
#Выводим список оборудования
|
||||
cat "$list_switches_"
|
||||
#Составляем список адресов, содержащихся в файле
|
||||
ips_=$(grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" "$list_switches_")
|
||||
#Считывается коммутатор
|
||||
read switch_
|
||||
if [[ -z "$switch_" ]]; then
|
||||
break
|
||||
fi
|
||||
lets_go_connect "$switch_"
|
||||
done
|
||||
clear #По нажатию клавиши Enter очищается экран и цикл идёт на новую итерацию
|
||||
done
|
||||
# Если какого-то софта не хватает, то появляется список того, что нужно установить
|
||||
else
|
||||
echo -e "\033[31mНеобходимо установить следующий софт:\033[0m"
|
||||
echo ${need_soft_}
|
||||
read
|
||||
fi
|
||||
1
instructions_.txt
Normal file
1
instructions_.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
wr
|
||||
4
instructions_for_ppr.txt
Normal file
4
instructions_for_ppr.txt
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
show run
|
||||
show log
|
||||
show int status
|
||||
wr
|
||||
1
ip_.txt
Normal file
1
ip_.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
10.0.0.1
|
||||
1
telnet_cisco
Normal file
1
telnet_cisco
Normal file
|
|
@ -0,0 +1 @@
|
|||
10.33.0.1
|
||||
1
telnet_natex
Normal file
1
telnet_natex
Normal file
|
|
@ -0,0 +1 @@
|
|||
10.33.0.2
|
||||
Loading…
Add table
Reference in a new issue