Вы уже изучили блок «Системы управления версиями», и начиная с этого занятия все ваши работы будут приниматься ссылками на .md-файлы, размещённые в вашем публичном репозитории.
Скопируйте в свой .md-файл содержимое этого файла; исходники можно посмотреть здесь. Заполните недостающие части документа решением задач (заменяйте ???, ОСТАЛЬНОЕ В ШАБЛОНЕ НЕ ТРОГАЙТЕ чтобы не сломать форматирование текста, подсветку синтаксиса и прочее, иначе можно отправиться на доработку) и отправляйте на проверку. Вместо логов можно вставить скриншоты по желани.
Есть скрипт:
a=1
b=2
c=a+b
d=$a+$b
e=$(($a+$b))Какие значения переменным c,d,e будут присвоены? Почему?
| Переменная | Значение | Обоснование |
|---|---|---|
c |
ab | указан текст, а не переменная |
d |
1+2 | переменная по умолчанию имеет тип "строка" |
e |
3 | За счёт скобок была выполнена команда на выполнение арифметической операции с преобразованием к другому типу |
На нашем локальном сервере упал сервис и мы написали скрипт, который постоянно проверяет его доступность, записывая дату проверок до тех пор, пока сервис не станет доступным (после чего скрипт должен завершиться). В скрипте допущена ошибка, из-за которой выполнение не может завершиться, при этом место на Жёстком Диске постоянно уменьшается. Что необходимо сделать, чтобы его исправить:
while ((1==1)
do
curl https://localhost:4757
if (($? != 0))
then
date >> curl.log
fi
done while (( 1 == 1 ))
do
curl https://localhost:4757
if (($? != 0))
then
date >> curl.log
else exit
fi
sleep 5
doneНеобходимо написать скрипт, который проверяет доступность трёх IP: 192.168.0.1, 173.194.222.113, 87.250.250.242 по 80 порту и записывает результат в файл log. Проверять доступность необходимо пять раз для каждого узла.
hosts=(192.168.0.1 173.194.222.113 87.250.250.242)
timeout=5
for i in {1..5}
do
date >> log
for host in ${hosts[@]}
do
curl -Is --connect-timeout $timeout $host:80 >/dev/null
echo " check" $host status=$? >> log
done
doneНеобходимо дописать скрипт из предыдущего задания так, чтобы он выполнялся до тех пор, пока один из узлов не окажется недоступным. Если любой из узлов недоступен - IP этого узла пишется в файл error, скрипт прерывается.
hosts=(192.168.0.1 173.194.222.113 87.250.250.242)
timeout=5
res=0
while (($res == 0))
do
for host in ${hosts[@]}
do
curl -Is --connect-timeout $timeout $host:80 >/dev/null
res=$?
if (($res != 0))
then
echo " ERROR on " $host status=$res >> error
fi
done
done