BASH_HELP Telegram 829
⚙️ Сборник примеров программ на bash

💠 fping_chk — быстрая групповая проверка хостов на доступность
#!/bin/bash
attempts=$(($2+1))
## all working nodes
# {3..19} {22..24} {27..28} {30..38}
declare -a sc613='2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 22 23 24 27 28 30 31 32 33 34 35 36 37 38'
# {3..19} {22.24}
declare -a sc619='3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 22 23 24'

function check_613() {
echo 'Проверка доступности хостов сети '$ip_h 'из '$(uname -n)
for (( count=1; count < $attempts; count++ )); do
echo '-----------[ step' $count'/'$(($attempts-1))' ]' $(date +%d.%m.%y) $(date +%H:%M) '---------'
for ip in $sc613; do
if ! [[ $(fping -qa ${ip_h}.${ip}) ]]; then
echo ${ip_h}.${ip} is dead!
fi
done
done
}

function check_619() {
echo 'Проверка доступности хостов сети '$ip_h 'из '$(uname -n)
for (( count=1; count < $attempts; count++ )); do
echo '-----------[ step' $count'/'$(($attempts-1))' ]' $(date +%d.%m.%y) $(date +%H:%M) '---------'
for ip in $sc619; do
if ! [[ $(fping -qa ${ip_h}.${ip}) ]]; then
echo ${ip_h}.${ip} is dead!
fi
done
done
}

function usage() {
echo 'Укажите номер VLAN (613 или 619) и кол-во попыток!'
}

if [ $# != 2 ]; then
usage
else
case $1 in
613)
ip_h="10.55.126"
check_613;;
619)
ip_h="172.17.5"
check_619;;
*)
usage;;
esac
fi

💠bulk_tune — групповое выполнение сценариев на удаленных серверах.
Пример запуска: ./bulk_tune В файле playbook_file - сценарий, который должен быть выполнен.
#!/bin/bash
scope=$2

case $scope in
all)
declare -a srvl=(cmp01 cmp02 cmp03 cph01 cph02 cph03 mon01 mon02 ctl01 ctl02 ctl03 s3f01 s3f02 s3f03);;
ceph)
declare -a srvl=(cph01 cph02 cph03);;
s3)
declare -a srvl=(s3f01 s3f02 s3f03);;
ctl)
declare -a srvl=(ctl01 ctl02 ctl03);;
*)
;;
esac

echo ${srvl[@]}

if [ $# != 2 ]; then
echo "payload OR scope not defined!"; exit 0
else
for srv in ${srvl[@]}; do
echo $srv
ssh $srv 'bash -s' < $1;
done
fi

💠psi_go — прогон сценариев ПСИ scmd - номер команды, с которой начинаем выполнение, можно задать, как параметр командной строки. В файл .psi_cmd.lst необходимо добавить все запускаемые команды - по одной на строку.
#!/bin/bash
# psi_go: Прогон сценариев ПСИ
# created during 21.01.2023
# [email protected]

if [[ -z $1 ]]; then scmd=0; else scmd=$1; fi

declare -a psicmd
# filling command stack from file
readarray -t psicmd < .psi_cmd.lst

sumop=${#psicmd[@]} ## total operations
#for pp in ${psicmd[*]}; do echo $pp; done

function msg1() {
echo -e '\nВыполняем команду'$1
}

function msg2() {
echo -e 'Результат выполнения команды: \n'
}

function step_mark() {
read -p ':---------------->'
}

for (( step=$scmd; step < $sumop; step++ )); do
msg1
echo '# '$step': '${psicmd[$step]}
step_mark
msg2
#${psicmd[$step]} > /tmp/result_psi ## not worked with for
echo ${psicmd[$step]} > /tmp/psi_cmd && /bin/bash /tmp/psi_cmd
cat /tmp/result_psi
done


🖼️ Дочитать статью

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/bash_help/829
Create:
Last Update:

⚙️ Сборник примеров программ на bash

💠 fping_chk — быстрая групповая проверка хостов на доступность

#!/bin/bash
attempts=$(($2+1))
## all working nodes
# {3..19} {22..24} {27..28} {30..38}
declare -a sc613='2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 22 23 24 27 28 30 31 32 33 34 35 36 37 38'
# {3..19} {22.24}
declare -a sc619='3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 22 23 24'

function check_613() {
echo 'Проверка доступности хостов сети '$ip_h 'из '$(uname -n)
for (( count=1; count < $attempts; count++ )); do
echo '-----------[ step' $count'/'$(($attempts-1))' ]' $(date +%d.%m.%y) $(date +%H:%M) '---------'
for ip in $sc613; do
if ! [[ $(fping -qa ${ip_h}.${ip}) ]]; then
echo ${ip_h}.${ip} is dead!
fi
done
done
}

function check_619() {
echo 'Проверка доступности хостов сети '$ip_h 'из '$(uname -n)
for (( count=1; count < $attempts; count++ )); do
echo '-----------[ step' $count'/'$(($attempts-1))' ]' $(date +%d.%m.%y) $(date +%H:%M) '---------'
for ip in $sc619; do
if ! [[ $(fping -qa ${ip_h}.${ip}) ]]; then
echo ${ip_h}.${ip} is dead!
fi
done
done
}

function usage() {
echo 'Укажите номер VLAN (613 или 619) и кол-во попыток!'
}

if [ $# != 2 ]; then
usage
else
case $1 in
613)
ip_h="10.55.126"
check_613;;
619)
ip_h="172.17.5"
check_619;;
*)
usage;;
esac
fi

💠bulk_tune — групповое выполнение сценариев на удаленных серверах.
Пример запуска: ./bulk_tune В файле playbook_file - сценарий, который должен быть выполнен.
#!/bin/bash
scope=$2

case $scope in
all)
declare -a srvl=(cmp01 cmp02 cmp03 cph01 cph02 cph03 mon01 mon02 ctl01 ctl02 ctl03 s3f01 s3f02 s3f03);;
ceph)
declare -a srvl=(cph01 cph02 cph03);;
s3)
declare -a srvl=(s3f01 s3f02 s3f03);;
ctl)
declare -a srvl=(ctl01 ctl02 ctl03);;
*)
;;
esac

echo ${srvl[@]}

if [ $# != 2 ]; then
echo "payload OR scope not defined!"; exit 0
else
for srv in ${srvl[@]}; do
echo $srv
ssh $srv 'bash -s' < $1;
done
fi

💠psi_go — прогон сценариев ПСИ scmd - номер команды, с которой начинаем выполнение, можно задать, как параметр командной строки. В файл .psi_cmd.lst необходимо добавить все запускаемые команды - по одной на строку.
#!/bin/bash
# psi_go: Прогон сценариев ПСИ
# created during 21.01.2023
# [email protected]

if [[ -z $1 ]]; then scmd=0; else scmd=$1; fi

declare -a psicmd
# filling command stack from file
readarray -t psicmd < .psi_cmd.lst

sumop=${#psicmd[@]} ## total operations
#for pp in ${psicmd[*]}; do echo $pp; done

function msg1() {
echo -e '\nВыполняем команду'$1
}

function msg2() {
echo -e 'Результат выполнения команды: \n'
}

function step_mark() {
read -p ':---------------->'
}

for (( step=$scmd; step < $sumop; step++ )); do
msg1
echo '# '$step': '${psicmd[$step]}
step_mark
msg2
#${psicmd[$step]} > /tmp/result_psi ## not worked with for
echo ${psicmd[$step]} > /tmp/psi_cmd && /bin/bash /tmp/psi_cmd
cat /tmp/result_psi
done


🖼️ Дочитать статью

🔨 bash_help

BY BashMaster




Share with your friend now:
tgoop.com/bash_help/829

View MORE
Open in Telegram


Telegram News

Date: |

To delete a channel with over 1,000 subscribers, you need to contact user support The imprisonment came as Telegram said it was "surprised" by claims that privacy commissioner Ada Chung Lai-ling is seeking to block the messaging app due to doxxing content targeting police and politicians. The visual aspect of channels is very critical. In fact, design is the first thing that a potential subscriber pays attention to, even though unconsciously. With the administration mulling over limiting access to doxxing groups, a prominent Telegram doxxing group apparently went on a "revenge spree." Telegram is a leading cloud-based instant messages platform. It became popular in recent years for its privacy, speed, voice and video quality, and other unmatched features over its main competitor Whatsapp.
from us


Telegram BashMaster
FROM American