From 1566e67c192863e1f018df5e37b6267f2d05ecc0 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sun, 19 Oct 2008 15:38:46 +0200 Subject: fput functions: Added aneurysm_int and additional error checking --- etc/functions/put | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/etc/functions/put b/etc/functions/put index 2773416..32fdc79 100644 --- a/etc/functions/put +++ b/etc/functions/put @@ -9,6 +9,14 @@ typeset hostname typeset -a ssh_options hosts typeset target_dir server_prefix typeset file +typeset -i n_hosts n_ping n_curl + +function put_aneurysm_int { + hostname='aneurysm' + ssh_options=(-q) + target_dir='public_html/tmp/' + server_prefix='https://derf.homelinux.org/~derf/tmp/' +} function put_aneurysm () { hostname='derf.homelinux.org' @@ -24,7 +32,8 @@ function put_sievert () { server_prefix='https://tabularazor.org/~derf/tmp/' } -hosts=(aneurysm sievert) +hosts=(aneurysm_int aneurysm sievert) +n_hosts=$#hosts if [[ -f $1 ]] { file=$1 @@ -34,13 +43,20 @@ if [[ -f $1 ]] { if (( ? == 0 )) { scp $ssh_options $file $hostname:$target_dir ssh $ssh_options $hostname "chmod 644 $target_dir${file:t}" - echo $server_prefix${file:t} - return 0 + if $(curl -fI $server_prefix${file:t} &> /dev/null); then + echo $server_prefix${file:t} + return 0 + else + (( n_curl++ )) + fi } else { + (( n_ping++ )) shift hosts } } - fdie "No hosts reachable" + fdie "Tried uploading to $n_hosts hosts without succes\n" \ + " - $n_ping hosts are unreachable\n" \ + " - $n_curl errors while uploading" } else { fdie "$1: No such file" } -- cgit v1.2.3