Controlar tempo de uso computador.

1. Controlar tempo de uso computador.

Juliano Castro
julianocastro

(usa Linux Mint)

Enviado em 14/06/2016 - 18:36h

Olá,

Pessoal sou novato no linux, gostaria fazer algo que controle o tempo de uso do pc. Sei que existe o comando uptime, que mostra o valor em horas que o pc ficou ligado e quero jogar este valor para um ".txt". Gostaria de saber se tem como eu executar este ".sh" no momento que o pc for desligado. Na real o que eu quero fazer e calcular o valor de horas utilizadas, para saber o valor gasto "aproximadamente" de energia em kWh do computador por mês :).

Não sei se fui claro, desde já agradeço pela ajuda.


  


2. Re: Controlar tempo de uso computador.

Ricardo Fabiano Silva
madrugada

(usa Gentoo)

Enviado em 14/06/2016 - 18:44h

Qual a interface gráfica utiliza?

Se não me engano o KDE oferece configuração para executar script ao iniciar e ao desligar. Se utilizar outro DE, vai ter que fuçar pra descobrir.

o comando seria algo como:
uptime >> /var/log_time.txt 

Isso é só o comando e não o script.
Para redirecionar o retorno do comando para o arquivo terá que usar ">>", isso cria o arquivo se não existir, e se existir, ele vai direcionar o conteúdo para o final do arquivo.
Não utilize ">"(só um sinal de maior, ao invés de dois), pois isso iria sobrescrever o conteúdo do arquivo toda vez que desligasse a máquina.

Veja se o comando poweroff e halt são scripts ou binários. Se forem scripts, você pode editá-los.

Faça por sua própria conta e risco.

Boa sorte!


3. Re: Controlar tempo de uso computador.

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 14/06/2016 - 19:01h

julianocastro escreveu:...


velho ... no debian tem um app q te da essa informação .. até desinstalei ele ontem , não lembro agora o nome dele mas depois olho lá pra ver se eu encontro vestígios dele e te informo (acho que é gestor de tempo ou algo parecido) ... mas aí ... acho q esse tipo de informação não lhe será muito útil pois veja bem ... sua fonte tem um consumo máx X, esses consumo varia entre o mínimo que seu pc consome e o máximo da fonte conforme a usabilidade do computador, logo vc poderá ter erro cálculo de até 100% !!!




4. Re: Controlar tempo de uso computador.

Juliano Castro
julianocastro

(usa Linux Mint)

Enviado em 14/06/2016 - 19:46h

Mauriciodez


Hum... Não tinha pensado nesta diferença, eu ia pegar o valor direto da fonte como se o uso foce sempre 100%.

Vou pensar em outra solução...


5. Re: Controlar tempo de uso computador.

Ronaldo Ferreira de Lima
textmode

(usa Slackware)

Enviado em 14/06/2016 - 20:39h

julianocastro escreveu:

Olá,

Pessoal sou novato no linux, gostaria fazer algo que controle o tempo de uso do pc. Sei que existe o comando uptime, que mostra o valor em horas que o pc ficou ligado e quero jogar este valor para um ".txt". Gostaria de saber se tem como eu executar este ".sh" no momento que o pc for desligado. Na real o que eu quero fazer e calcular o valor de horas utilizadas, para saber o valor gasto "aproximadamente" de energia em kWh do computador por mês :).

Não sei se fui claro, desde já agradeço pela ajuda.


Para desktops que ligam e desligam com frequência, você vai precisar de alguma coisa que fique monitorando a máquina e incrementando um contador, é certeza que tem várias coisas prontas nesse sentido como os colegas já mencionaram. Já pra o problema de estimar o consumo energético, será outro problema sério como também já mencionaram, mas essa parte parece que você vai resolver sozinho.

Se for resolver construir algo, precisa levar em consideração os crashs da máquina porque, se você criar scripts que marcam a hora de início e hora do fim da máquina e colocá-los no boot e no shutdown, você sempre calcularia a quantidade de horas pela diferença entre boot e shutdown mas quando der crash você não terá o shutdown e perderá a marcação. Minha sugestão é criar um script que incrementa um contador num arquivo num intervalo determinado, daria até para colocá-lo no cron.

Um exemplo de script para colocar no cron:


#!/bin/bash

declare -i contador
declare -i minutos=$1

file=$(date +'%Y%m.txt'); # cuidado com o timezone!
[[ ! -f $file ]] && echo -n 0 > $file
contador=$(<$file)
echo $contador
(( contador += minutos ))
echo -n $contador > $file


No cron, usaría-se algo como:



# min hour day month day-of-week command
#(0-59) (0-23) (1-31) (1-12) (0-6)
#------------------------------------------------------------
*/10 * * * * script.sh 10


(*precisa verificar a sintaxe do crontab na sua máquina)

se for invocar o script a cada 30 minutos ao invés de 10, use
script.sh 30 
.

A ideia era só isto mesmo, e você só perderia os últimos 10 ou 30 minutos da contagem.


[]'s
--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------
https://perspicazsite.wordpress.com







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts