FTP server keeps stopping (Mavericks)
Could you test your end to end connection with this simple script based on ping
output:
#!/bin/sh # $Id: coupure.sh,v 1.1 2012/09/05 13:11:10 dan Exp dan $ _host_exist=`host $1` expr "${_host_exist}" : '.*address' >/dev/null || { echo ${_host_exist} >&2 exit 1 } ping $1 2>/dev/null | perl -e ' use strict ; use warnings ; my $started = 0 ; my $start = 0 ; my $end = 0 ; my $count = 0 ; my $was_down = -1 ; my $last_up = -1 ; my $last_hole = 0 ; my $now = 0 ; my $x = -1 ; my $hour = -1 ; my $min = -1 ; my $sec = -1 ; my $hole = 0 ; my $delta = 0 ; my $time_run = 0 ; my $sum_hole = 0 ; my $avg_hole = 0 ; my $sum_delta = 0 ; my $avg_delta = 0 ; sub catch_int { $end = time () ; $time_run = $end - $start ; printf ("\ntime run = %14d s,\tdrop count = %8d", $time_run, $count) ; if ($time_run) { printf (",\t %8.2f / d\n", $count * 86400 / $time_run) ; } else { printf ("\n") ; } if ($count) { $avg_hole = $sum_hole / $count ; printf ("avg drop time = %8.2f s\n", $avg_hole) ; if ($count > 1) { $avg_delta = $sum_delta / ($count - 1); printf ("avg int. time = %8.2f s\n", $avg_delta) ; } } exit ; } $start = time () ; $SIG{INT} = \&catch_int ; while () { # printf ("%s", $_) ; if (! $started) { # printf ("%s", $_) ; if ($_ =~ /PING/ ) { next ; } if ($_ =~ /bytes/) { $was_down = 0 ; } else { $was_down = 1 ; } $started = 1 ; } else { if ($_ =~ /bytes.*icmp_seq=/) { #-------+-------+-------+-------+-------+-------+-------+-------+ # target is up # printf ("!") ; if ($was_down == 1) { $count ++ ; printf ("%4d\t", $count) ; ($sec, $min, $hour, $x, $x, $x, $x, $x, $x) = localtime ($last_up) ; printf ("%02d:%02d:%02d\t", $hour, $min, $sec) ; $now = time () - 1 ; ($sec, $min, $hour, $x, $x, $x, $x, $x, $x) = localtime ($now) ; printf ("-\t%02d:%02d:%02d\t", $hour, $min, $sec) ; $was_down = 0 ; $hole = $now - $last_up ; $sum_hole += $hole ; printf ("= %4d s", $hole) ; if ($last_hole) { $delta = $last_up - $last_hole ; $sum_delta += $delta ; printf (" + %6d s\n", $delta ) ; } else { printf ("\n") ; } $last_hole = $last_up ; } $last_up = time() ; } else { #-------+-------+-------+-------+-------+-------+-------+-------+ # target is down if ($was_down == 0 ) { $was_down = 1 ; } } } }'
Just copy this in coupure.sh
on your ftp client,
type make coupure
and run it:
./coupure target_ftp_server