From 885d038bdd726ad50d41c9e4e16cbc91e661f8d3 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 19 Jul 2019 10:23:09 +0200 Subject: backup.in: ignore ip versions with which we are not connected --- backup.in | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/backup.in b/backup.in index 6c3c774..b74487a 100755 --- a/backup.in +++ b/backup.in @@ -70,6 +70,19 @@ extract_ssh_ip_protocols() { fi } +connected_ip_versions() { + ip -o addr show scope global \ + | awk '{print $4}' \ + | sed ' + s@^\([0-9]\+\.\)\{3\}[0-9]\+\(/[0-9]\+\)\?$@4@ + t + s@^[0-9a-f][0-9a-f:]\+\(/[0-9]\+\)\?$@6@ + t + d + ' \ + | sort -u +} + if [ $# -eq 1 ]; then if [ "$1" == "--help" ]; then usage 0 @@ -101,8 +114,13 @@ QuellIP=$(echo "$3" | sed "s|^[a-zA-Z]*://||; s|^[a-zA-Z]*@||; s|:\?/.*$||") if [ "$#" -eq 3 ]; then Quelle="$3" ipVer=$( - extract_ssh_ip_protocols "${QuellIP}" \ - | sort -n \ + { + extract_ssh_ip_protocols "${QuellIP}" \ + | sort -n + extract_ssh_ip_protocols "${QuellIP}" \ + | grep -xF "$(connected_ip_versions)" \ + | sort -n + } \ | tail -n1 ) elif [ "$#" -eq 4 ]; then -- cgit v1.2.3