Send_files_bash/distribute.sh
2022-03-10 06:58:26 +01:00

53 lines
1.2 KiB
Bash

#!/bin/bash
## Author Oriol Filter
# Date 16/02/2022
## Find which user is the correct one
### VAR
export _USERS="$(cat ./users)"
### Main
sed '/^$/d' h | tee ./curr_h >/dev/null # remove empty lines
printf "Attempting to SSH\n"
for u in $_USERS
do
printf "\033[0;33m $u\n\033[0m"
rm ./${u}/h
touch ./${u}/h
for h in $(cat ./curr_h)
do
printf "${h}: -->"
# sshpass -f "./${u}/p" ssh -q -o GSSAPIAuthentication=no -o StrictHostKeyChecking=no -T "${u}@${h}" 'echo true' &> /dev/null &&
sshpass -f "./${u}/p" ssh -q -o StrictHostKeyChecking=no -T "${u}@${h}" 'echo true' &> /dev/null &&
printf "${h}: \033[1;32mYES \033[0m\n" &&
printf "${h}\n" | tee -a "./${u}/h" > /dev/null ||
printf "${h}: \033[1;31mNo \033[0m\n" < "./${u}/p"
done
diff --new-line-format="" --unchanged-line-format="" ./curr_h "${u}/h" > left_h
mv ./left_h ./curr_h
done
mv curr_h discards_h
printf "Distributed hosts\n"
for u in $_USERS
do
printf "\033[0;32m $u\n\033[0m"
awk '{ printf" %s\n",$0 }' < "./${u}/h"
done
printf "\033[0;31mDISCARDS:\033[0m\n"
awk '{ printf" %s\n",$0 }' < ./discards_h
printf "Discards are stored in './discards_h'\n"
bash ./send_files.sh