Pregunta

Por razones de seguridad (soy desarrollador) no tengo acceso a la línea de comandos a nuestros servidores de Producción donde se escriben los archivos de registro. Yo puedo , sin embargo, accedo a esos archivos de registro a través de HTTP. ¿Hay alguna utilidad en la forma de "cola -f"? que puede "seguir" un archivo de texto sin formato usando solo HTTP?

¿Fue útil?

Solución

Puede hacerlo si el servidor HTTP acepta solicitudes para devolver partes de un recurso. Por ejemplo, si una solicitud HTTP contiene el encabezado:

  

Rango: bytes = -500

la respuesta contendrá los últimos 500 bytes del recurso. Puede buscar eso y luego analizarlo en líneas, etc. No conozco ningún cliente preparado que haga esto por usted: escribiría un script para hacer el trabajo.

Puede usar Hurl para experimentar con encabezados (de recursos disponibles públicamente).

Otros consejos

Escribí un script bash con el mismo propósito. Puede encontrarlo aquí https://github.com/maksim07/url-tail

Puede usar la pequeña utilidad java para leer el archivo de registro a través de Http usando la Biblioteca Apache HTTP.

HttpClient client = HttpClientBuilder.create().build();
    HttpGet request = new HttpGet(uri);
    HttpResponse response = client.execute(request);
    BufferedReader rd = new BufferedReader(new InputStreamReader(
            response.getEntity().getContent()));
    String s = "";
    while ((s = rd.readLine()) != null) {
       //Process the line
    }

Puede usar PsExec para ejecutar el comando en una computadora remota. El comando de cola para Windows se puede encontrar en http://tailforwin32.sourceforge.net/

Si tiene que ser HTTP, puede escribir un servicio web ligero para lograrlo fácilmente. por ejemplo, leer texto dentro de un archivo especificado desde la línea 0 hasta la línea 200.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top