Index: scripts/wsrep_sst_rsync.sh --- scripts/wsrep_sst_rsync.sh.orig +++ scripts/wsrep_sst_rsync.sh @@ -117,9 +117,14 @@ check_pid_and_port() fi port_info=$(sockstat "$opts" "$port" 2>/dev/null | \ grep -E '[[:space:]]LISTEN' | grep -o -E "$filter") - else + elif [ $ss_available -ne 0 ]; then port_info=$(ss -nlpH "( sport = :$port )" 2>/dev/null | \ grep -F 'users:(' | grep -o -E "$filter") + elif [ $fstat_available -ne 0 ]; then + port_info=$(fstat -n 2>/dev/null | grep -E "[[:space:]](\\*|\\[?::\\]?):$port\$") + else + wsrep_log_error "Unknown sockets utility" + exit 2 # ENOENT fi echo "$port_info" | \ grep -q -E "[[:space:]](\\*|\\[?::\\]?):$port\$" && busy=1 @@ -474,9 +479,9 @@ EOF # Preparing binlog files for transfer: wsrep_log_info "Preparing binlog files for transfer:" tar_type=0 - if tar --help | grep -qw -F -- '--transform'; then + if tar --help 2>/dev/null | grep -qw -F -- '--transform'; then tar_type=1 - elif tar --version | grep -qw -E '^bsdtar'; then + elif tar --version 2>/dev/null | grep -qw -E '^bsdtar'; then tar_type=2 fi if [ $tar_type -eq 2 ]; then @@ -974,7 +979,7 @@ EOF fi # Extracting binlog files: wsrep_log_info "Extracting binlog files:" - if tar --version | grep -qw -E '^bsdtar'; then + if tar --version 2>/dev/null | grep -qw -E '^bsdtar'; then tar -tf "$BINLOG_TAR_FILE" > "$tmpfile" && \ tar -xvf "$BINLOG_TAR_FILE" > /dev/null || RC=$? else