Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bash-2.03$ cat /home/olesya/CentOSCert/ENUM/bb.sh
- #!/bin/bash
- #============ Basic builds checks for component ================
- # 1) generates lists of available and unavailable proxies
- # 2) generates list for proxies that have problem with ssh connnect
- #================================================================
- #=================================INTRO(USAGE)=====================================
- EXPECTED_ARGS=3
- E_BADARGS=65
- if [ $# -ne $EXPECTED_ARGS ]
- then
- echo " _ ";
- echo " .---._ | | ";
- echo " ..--(. ' .).--. . .-. __| |_____ ____ ____ _____ ____ ";
- echo " . ( ' _) .)' ( .)-. ( ) '-' / _ (____ | _ \ / _ | ___ |/ ___)";
- echo " ( , ). '(' . _) ( (_| / ___ | | | ( (_| | ____| | ";
- echo " (') _________ '-' \____\_____|_| |_|\___ |_____)_| ";
- echo " __ [_________] (_____| ";
- echo " \__/ | _ \ || ________ ";
- echo " _][__|( )/__|| ,;,;,;, ______ [________] ";
- echo " / | ,;;;;;;;;;, __________ _(______)_ _| |_ ";
- echo " / _________| | | | | \ | | | ____| ";
- echo " (| .--. .--.| | | | | ) / | | |____ | ";
- echo " /|/ .. \~~~/ .. \_|_.-._|_.-._|_|_.-:_\.-._\_|_.-.__.-._|_|_.-.__.-._| ";
- echo " =/_|\ '' /~~~\ '' /=+( o ) ( o )+==( o )( o )=+=( o )( o )+==( o )( o )=+= ";
- echo " ='=='='--'==+='--'===+'-'==='-'==+=='-'+='-'===+='-'=='-'==+=='-'=+'-=-''+ ";
- echo "============================================================================";
- echo ;
- echo "Usage: $0 proxy_type instance last_number";
- echo ;
- echo "proxy_type - use enumerate -t to get your proxy type";
- echo "instance - prod1 or prod2";
- echo "last_number - 2-1107 cause present 1 01 001 etc";
- echo "------------------------------------------------------"
- echo ;
- echo "Example: $0 kp prod1 900 - will check kp proxies on prod1 till 792 (900-108=792)"
- echo ;
- exit $E_BADARGS
- fi
- COMP=$1
- INST=$2
- LAST_NUM=$3
- POINT=.
- PREFFIX=.txt
- STATUS=0
- TEMP_FILE=temp.txt
- TEMP2_FILE=temp2.txt
- RESULT_FILE=temp3.txt
- AV_HOSTS_FILE=results/$COMP$POINT$INST$PREFFIX
- SSH_PROBLEM_FILE=results/ssh_pwd_$COMP$POINT$INST$PREFFIX
- TIMEOUT_PROBLEM_FILE=results/timeout_$COMP$POINT$INST$PREFFIX
- BLACK_LIST_FILE=main/bl_$COMP$POINT$INST$PREFFIX
- NUM_FILE=main/numbers.txt
- # Cutting num file according third argument
- head -n $LAST_NUM $NUM_FILE > $RESULT_FILE
- echo "Program START!"
- echo "BLACK_LIST was proceeded ..."
- echo ;
- # Make result file according black list or create fake black list
- if [ -f $BLACK_LIST_FILE ]
- then
- for i in `cat $BLACK_LIST_FILE`
- do
- cat $RESULT_FILE | grep -v "\<$i\>" > $TEMP_FILE
- cp $TEMP_FILE $RESULT_FILE
- done
- else
- echo "This_text_should_present" > $BLACK_LIST_FILE
- fi
- echo>$TEMP_FILE
- echo>$AV_HOSTS_FILE
- echo>$SSH_PROBLEM_FILE
- echo>$TIMEOUT_PROBLEM_FILE
- # Check all hosts per component and instance available them or no
- for i in `cat $RESULT_FILE`
- do
- # SSH check for password
- ssh_phys safe@$COMP$i$POINT$INST -o PreferredAuthentications=publickey -o PasswordAuthentication=no -o ConnectTimeout=5 echo -- || STATUS=1
- if [ $STATUS -eq 0 ]; then
- echo "$COMP$i$POINT$INST">>$AV_HOSTS_FILE
- fi
- if [ $STATUS -eq 1 ]; then
- GV=`ssh_phys safe@$COMP$i$POINT$INST -o PreferredAuthentications=publickey -o PasswordAuthentication=no -o ConnectTimeout=1 2>&1 | grep Non-existent | wc -l`
- # If host not exist then just increment i
- if [ $GV -ne 1 ]; then
- PV=`ssh_phys safe@$COMP$i$POINT$INST -o PreferredAuthentications=publickey -o PasswordAuthentication=no -o ConnectTimeout=1 2>&1 | grep denied | wc -l`
- TV=`ssh_phys safe@$COMP$i$POINT$INST -o PreferredAuthentications=publickey -o PasswordAuthentication=no -o ConnectTimeout=7 2>&1 | grep timed | wc -l`
- # Permission error sorting
- if [ $PV -eq 1 ]; then
- echo "$COMP$i$POINT$INST">>$SSH_PROBLEM_FILE
- fi
- # Timeout error sorting
- if [ $TV -eq 1 ]; then
- echo "$COMP$i$POINT$INST">>$TIMEOUT_PROBLEM_FILE
- fi
- fi
- fi
- STATUS=0;
- done
- # Empty strings deletition and temporary files removing
- echo "Cleaning temporary data";
- echo ;
- cat $AV_HOSTS_FILE | sed '/^$/d' > $RESULT_FILE
- cat $SSH_PROBLEM_FILE | sed '/^$/d' > $TEMP_FILE
- cat $TIMEOUT_PROBLEM_FILE | sed '/^$/d' > $TEMP2_FILE
- mv $TEMP_FILE $SSH_PROBLEM_FILE
- mv $RESULT_FILE $AV_HOSTS_FILE
- mv $TEMP2_FILE $TIMEOUT_PROBLEM_FILE
- echo "Such log files were created:";
- echo "$AV_HOSTS_FILE";
- echo "$SSH_PROBLEM_FILE";
- echo "$TIMEOUT_PROBLEM_FILE";
- echo ;
- echo "End of programm!";
- echo "--------------------------------------";
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement