Registrarse
Home
Foros
Miembros
Calendario
Normas
Ayuda

Foros de usuarios de openSUSE
Retroceder   ForoSUSE > Zona Técnica > Programación y Scripts > Scripts


Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook

Respuesta
 
Herramientas Desplegado

  #11  
Antiguo 05-dic-2018, 18:32
Avatar de gechdell
gechdell gechdell está desconectado
Habitual
 
Fecha de Ingreso: 27-noviembre-2007
Ubicación: chilangolandia
Versión: 11.4
Mensajes: 203
Agradecimientos: 13
Agradecido 5 Veces en 5 Mensajes
Poder de Credibilidad: 12
gechdell está en el buen camino
Cita:
Iniciado por Cuoco Ver Mensaje
Hola estimado, creo que pude replicar el problema, al intentar ejecutar tu escript en la consola me arrojaba la misma salida en el log que la que te arroja desde cron.
Ejecuté las instrucciones y variables y encontré la discrepancia en el comando bc y la salida del comando top.
En mi pc tengo todo configurado para usar español, la salida del comando top te arroja un numero decimal utilizando coma "," y el comando bc no reconoce dicho formato de números decimales, espera en su lugar un punto "."
Esto te arroja el primer error en la linea y=$(echo "$x*$factor"|bc) y eso arrastra los problemas más abajo.
La solución que se me ocurrió fue formatear la salida de la variable x y cambiar coma por punto, eso terminó el comando correctamente.
Lo que se me ocurre que puede estar pasando es una discrepancia de los locale utilizados, tu usuario tiene español y cron utiliza el de sistema (ingles), o a la inversa, eso es lo que cambia la salida del comando top para que use punto o coma, para expresar los valores decimales.
Adjunto el script modificado para que lo pruebes.
Código:
#!/bin/bash

fecha=$(date +%d-%m-%Y*%T)
factor=10
base=150
#ejecuto top de manera estatica y con grep separo la lina de uso de %cpu y con AWK aislo unicamente el uso del cpu 
q=$(top -b -n 1 | grep %Cpu | awk '{usage=$2} END {print usage}')
#cambiamos la coma por el punto para que sea leido correctamente por el comando bc
x=`echo $q | sed 's/,/./g'`
echo el porcetanje de uso del cpu es: $x % >> /home/gechdell/Documentos/scripts/log.txt

#multiplico el valor de %cpu por 10 para convertir un decimal a entero, pero aun conserva el .0
y=$(echo "$x*$factor"|bc)
echo multiplicado es $y % >> /home/gechdell/Documentos/scripts/log.txt

#quito el .0 para quedarme con un numero sin punto decimal
z=${y/.*/}
echo sin decimales es $z >> /home/gechdell/Documentos/scripts/log.txt
echo este $z es mayor que $base >> /home/gechdell/Documentos/scripts/log.txt

#comparo el uso de CPU ya convertido a entero y sin punto decimal con mi base para saber si el uso del cpu es alto o no
if [ $z -gt $base ];
then
echo el uso del cpu es alto $x %  a las $fecha >> /home/gechdell/Documentos/scripts/log.txt
else
echo el uso del cpu es normal $x % a las $fecha >> /home/gechdell/Documentos/scripts/log.txt
fi
Saludos.


exacto, ese era el GRAN DETALLE lo corregi y funciono al 100 muchas gracias, bien recuerdo en mis dias de estudiante como un ; hacia que todo tu codigo no compilara y ahora por no fijarme en un , me paso lo mismo


me podrian ayudar para cambiar el titulo con SOLUCIONADO
__________________
estoy buscando a mi media naranja, pero mientras me hecho unas mandarinas¡¡¡¡¡¡¡¡¡¡¡¡
Responder Citando
Respuesta

Marcadores


(0 miembros y 1 visitantes)
 
Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ATI Radeon HD 6770. Monitorear temperatura. gvcastellon Hardware 2 20-feb-2012 21:17
driver IT87, placas asus y controlar ventiladores [solucionado] soyasi Hardware 0 20-may-2011 14:02
monitorear temperatura annubis Hardware 3 04-may-2009 12:55
Como puedo poner un Scrip para Compiz-Fusion larva_pro Software 3 19-feb-2008 20:38
Monitorear la temperatura del disco duro con Ksensors juankarlos Hardware 4 01-jul-2006 20:27



Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook


La franja horaria es GMT +2. Ahora son las 20:37.
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.

Esta página está bajo una licencia de Creative Commons, salvo que no se indique lo contrario.
Creative Commons License

Valid CSS!

Diseño por:Designed by: vbdesigns.devbdesigns.de 
Contáctenos - ForoSUSE - Archivo - Declaración de Privacidad - Arriba