Added the encrypt init DB function.

This commit is contained in:
Audi Bailey
2018-06-01 12:10:12 +10:00
parent 0a860774f6
commit 65a43e15ec

View File

@@ -96,6 +96,54 @@ numProcs=10
}
init_DB_encrypt(){
# get list of avail gdsa accounts
gdsaList=$(rclone listremotes --config /root/.config/rclone/rclone.conf | sed 's/://' | egrep '^GDSAC[0-9]+$')
if [[ -n $gdsaList ]]; then
numGdsa=$(echo $gdsaList | wc -w)
echo -e " [INFO] Initializing $numGdsa Service Accounts."
else
echo "[INFO] No GDSA's found in /root/.config/rclone/rclone.conf, checking ~/.config/rclone/rclone.conf for GDSA's"
# backup root's rclone conf
[[ -e /root/.config/rclone/rclone.conf ]] && cp /root/.config/rclone/rclone.conf /root/.config/rclone/rclone.conf.back
# cp home's rclone conf to root
[[ -e ~/.config/rclone/rclone.conf ]] && cp ~/.config/rclone/rclone.conf /root/.config/rclone/rclone.conf
gdsaList=$(rclone listremotes --config /root/.config/rclone/rclone.conf | sed 's/://' | egrep '^GDSAC[0-9]+$')
[[ -z $gdsaList ]] && echo -e " [FAIL] No Valid SA accounts found! Is Rclone Configured With GDSA## remotes?" && exit 1
echo "[INFO] Found GDSA's in ~/ and copying to /root"
numGdsa=$(echo $gdsaList | wc -w)
echo -e " [INFO] Initializing $numGdsa Service Accounts."
fi
# reset existing logs & db
echo -n '' > /tmp/SA_error.log
validate(){
local s=0
rclone lsd --config /root/.config/rclone/rclone.conf ${1}:/ &>/tmp/.SA_error.log.tmp && s=1
if [[ $s == 1 ]]; then
echo -e " [ OK ] ${1}\t Validation Successful!"
egrep -q ^${1}=. $gdsaDB || echo "${1}=0" >> $gdsaDB
else
echo -e " [WARN] ${1}\t Validation FAILURE!"
cat /tmp/.SA_error.log.tmp >> /tmp/SA_error.log
((gdsaFail++))
fi
}
i=0
numProcs=10
# parallelize validator for speeeeeed
for gdsa in $gdsaList; do
if (( i++ >= numProcs )); then
wait -n
fi
validate $gdsa &
sleep 0.1
done
wait
gdsaLeast=$(sort -gr -k2 -t'=' ${gdsaDB} | egrep ^GDSA[0-9]+=. | tail -1 | cut -f1 -d'=')
[[ -n $gdsaFail ]] && echo -e " [WARN] $gdsaFail Failure(s). See /tmp/SA_error.log"
}
[[ $@ =~ --skip ]] || init_DB
############################################################################