У меня есть этот скрипт, который я вызываю с одним аргументом. Аргумент является IP-адресом. Мне интересно время выполнения этого скрипта. Иногда требуется всего несколько секунд, иногда до 30 минут, чтобы увидеть вывод сценария. Я понятия не имею, почему.
Если я вызову скрипт, подожду несколько секунд и прерву скрипт с помощью ctrl + c, я сразу же смогу увидеть вывод скрипта. Если я просто подожду, я увижу тот же вывод, но через 30 минут.
У вас есть идея, почему этот скрипт или мой сервер глючит?
Thx.
#!/bin/bash
#########################################
# blocks IP address permanently via ufw #
#########################################
# check if user is root
if [[ "$EUID" -ne 0 ]]; then
echo "Run as root. Exit."
exit
fi
# check argument it given
ip=${1:?No IP address given. Exit.}
# IPv4 regex
regex4='^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(\/[0-9]{2}){0,1}$'
# IPv6 regex
regex6='^([0-9a-fA-F]{0,4}:){1,7}[0-9a-fA-F]{0,4}(\/[0-9]{1,2}){0,1}$'
isIP=false
if [[ $ip =~ $regex4 ]]; then
ufw insert 1 deny from $ip
echo "$ip blocked permanently!"
isIP=true
elif [[ $ip =~ $regex6 ]]; then
ufw prepend deny from $ip
isIP=true
else
echo "IP address is wrong."
fi
#ufw status verbose
# add blocked ip to file and commit it.
if [ "$isIP" = true ] && [[ $(grep -L "$ip" ips/custom.txt) ]] ; then
echo $ip >> ips/custom.txt
git add ips/custom.txt
git commit -m "added ip to ips/custom.txt"
git push
fi