3 votos

Servidor FTP mantiene detener (Mavericks)

En un MacPro en una oficina remota, he habilitado el servidor FTP con

sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist

Ahora funciona, pero cuando la descarga de un archivo de gran tamaño, que va a servir para un par de segundos, luego se detiene por completo durante un minuto o más ..., a continuación, reanudar (usando lftp con múltiples conexiones).

Como este:

enter image description here

Hay alguna forma de arreglar esto? O es que hay un más confiable servicio de servidor FTP podríamos utilizar?

brew search ftp me muestra

bbftp-client   git-ftp        ncftp      pure-ftpd      vsftpd
curlftpfs      lftp           proftpd    uberftp

Son cualquiera de estos servidores FTP que se podría establecer como siempre-en "servicio"?

ACTUALIZACIÓN: he instalado el pure-ftpd, lo puse en marcha y funcionando, y se hace la misma maldita cosa. 34mbps por 10 segundos, luego 0 para 30 o así ... ¿qué está pasando?

1voto

Rich Puntos 2429

Podrían probar su extremo a extremo de la conexión con este sencillo script basado en ping salida de:

#!/bin/sh
# $Id: coupure.sh,v 1.1 2012/09/05 13:11:10 dan Exp dan $
_host_exist=`host $1`
expr "${_host_exist}" : '.*de la dirección' >/dev/null || {
 echo ${_host_exist} >&2
 salida 1
}

ping $1 2>/dev/null |
 perl -e '
 use strict ;
 el uso de advertencias ;

 mi $comenzó = 0 ;
 mi $inicio = 0 ;
 mi $final = 0 ;
 mi $contador = 0 ;
 mi $was_down = -1 ;
 mi $last_up = -1 ;
 mi $last_hole = 0 ;
 mi $ahora = 0 ;
 mi $x = -1 ;
 mi $hora = -1 ;
 mi $min = -1 ;
 mi $s = -1 ;
 mi $agujero = 0 ;
 mi $delta = 0 ;
 mi $time_run = 0 ;
 mi $sum_hole = 0 ;
 mi $avg_hole = 0 ;
 mi $sum_delta = 0 ;
 mi $avg_delta = 0 ;

 sub catch_int {
 $final = time () ;
 $time_run = $final $inicio ;
 printf ("\ntime ejecutar = %14d s,\tdrop count = %8d", $time_run, $count) ;
 if ($time_run) {
 printf (",\t %8.2 f / d\n", $count * 86400 / $time_run) ;
 } else {
 printf ("\n") ;
}
 if ($count) {
 $avg_hole = $sum_hole / $count ;
 printf ("avg gota tiempo = %8.2 f s\n", $avg_hole) ;
 if ($count > 1) {
 $avg_delta = $sum_delta / ($count - 1); 
 printf ("prom int. tiempo = %8.2 f s\n", $avg_delta) ;
}
}
 la salida ;
}

 $inicio = time () ;

 $SIG{INT} = \&catch_int ;

 while () {
# printf ("%s", $_) ;

 si (! $iniciado) {
# printf ("%s", $_) ;
 if ($_ =~ /PING/ ) { next ; }
 if ($_ =~ /bytes/) {
 $was_down = 0 ;
 } else {
 $was_down = 1 ;
}
 $comenzó = 1 ;
 } else {
 if ($_ =~ /bytes.*icmp_seq=/) {
#-------+-------+-------+-------+-------+-------+-------+-------+
# objetivo es de hasta
# printf ("!") ;
 if ($was_down == 1) {

 $count ++ ;
 printf ("%4d\t", $count) ;
 ($sec, $min, $la hora, $x, $x, $x, $x, $x, $x) = localtime ($last_up) ;
 printf ("%02d:%02d:%02d\t", $la hora, $min, $s) ;
 $ahora = time () - 1 ;
 ($sec, $min, $la hora, $x, $x, $x, $x, $x, $x) = localtime ($ahora) ;

 printf ("-\t%02d:%02d:%02d\t", $la hora, $min, $s) ;
 $was_down = 0 ;
 $agujero = $ahora $last_up ;
 $sum_hole += $agujero ;
 printf ("a= %4d s", $agujero) ;

 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 {
#-------+-------+-------+-------+-------+-------+-------+-------+
# objetivo es hacia abajo
 if ($was_down == 0 ) {
 $was_down = 1 ;
}
}
}
}'

Solo copia esto en coupure.sh en su cliente de ftp, tipo make coupure y ejecutarlo:

./coupure target_ftp_server

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X