First sync
This commit is contained in:
36
keepssh
Executable file
36
keepssh
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
while true; do
|
||||
ssh ${@}
|
||||
echo "Connection lost at $(date +%H:%M:%S)."
|
||||
|
||||
for I in {15..1}; do
|
||||
echo -ne "\rIdling for ${I} seconds... "; sleep 1
|
||||
done
|
||||
echo ''
|
||||
|
||||
TSTP="$(date +%H:%M:%S)"; dig +time=2 ${@} &> /dev/null; RSLT=${?}
|
||||
while [ ${RSLT} -ne 0 ]; do
|
||||
for I in {9..1}; do
|
||||
echo -ne "\rHost lookup failed at ${TSTP}. Retrying in ${I}... "; sleep 1
|
||||
done
|
||||
echo ''
|
||||
TSTP="$(date +%H:%M:%S)"; dig +time=2 ${@} &> /dev/null; RSLT=${?}
|
||||
done
|
||||
echo "Host lookup succeeded at ${TSTP}."
|
||||
|
||||
TSTP="$(date +%H:%M:%S)"; ping -c 1 -W 2 ${@} &> /dev/null; RSLT=${?}
|
||||
while [ ${RSLT} -ne 0 ]; do
|
||||
for I in {9..1}; do
|
||||
echo -ne "\rPinging host failed at ${TSTP}. Retrying in ${I}... "; sleep 1
|
||||
done
|
||||
echo ''
|
||||
TSTP="$(date +%H:%M:%S)"; ping -c 1 -W 2 ${@} &> /dev/null; RSLT=${?}
|
||||
done
|
||||
echo "Host ping succeeded at ${TSTP}."
|
||||
|
||||
for I in {5..1}; do
|
||||
echo -ne "\rRetrying SSH connection in ${I}... "; sleep 1
|
||||
done
|
||||
echo ''
|
||||
done
|
||||
Reference in New Issue
Block a user