ñuwatch
es una herramienta muy útil para inspeccionar la salida de un programa: ejecuta el programa y muestra la salida en pantalla completa cada 2 segundos.
A veces, no quiero que se borre el resultado anterior, sino que se imprima línea por línea con una marca de tiempo. Para eso, uso scripts bash como:
while true;
do echo -n "`date` ";
ssh ubuntu@server -o ConnectTimeout=1 "uptime" ;
sleep 1;
done
Hay unawatch
-¿Herramienta similar que puede ejecutar un comando y mostrar su salida con una marca de tiempo en una línea sin borrar la salida anterior?
Respuesta1
Yo diría que lo has encontrado en bucles simples pero puedes hacer varias cosas desde aquí:
Escribe una función para manejar eso por ti.
function uberwatch {
# call: uberwatch <interval> <command>
while true; do
"${@:2}";
sleep $1;
done
}
Podrías colocarlo en algún lugar alrededor de tu ~/.bashrc
.
Registre la salida en un archivo pero siga viéndola conwatch
watch "command | tee -a watchlog.log"
Aún así solo verías el último recorrido, pero podrías buscar en un registro histórico si fuera necesario.
Respuesta2
si bien es cierto; hacer fecha >> /vat/tmp/watch.log; dormir 600; ls -l nombre de archivo >> /var/tmp/watch.log; hecho
Me gusta el bucle while mencionado por Artem anteriormente, pero estaba buscando almacenar los datos en un archivo para poder analizarlos cuando regrese, por lo que agregué redirecciones a un archivo. En mi caso, veo el archivo cada 10 minutos y ls -l para el tamaño del archivo.
-Arrendajo
Respuesta3
Me gusta el de Oliwatch
solución modificada, pero me gusta la idea de ver el registro en tiempo real en lugar de revisarlo más tarde.
He aquí una idea:
watch 'echo $(date && command 2>&1 | tail -n 1) >> watchlog.log && cat watchlog.log | tail'
Explicación:
echo
evita una nueva línea entredate
ycommand
.>>
se agrega al archivo, igual que| tee -a
pero sin duplicarlo enwatch
la salida.2>&1
combina stderr con stdout para asegurarse de que vea todo, incluidos los errores.| tail -n 1
restringe la salida a la línea final (la que contiene ladate
salida) para una visualización más limpia en tiempo real. Este puede ser o no su deseo para el contenido del archivo de registro.