Logo Hardware.com.br
heathcliff
heathcliff Tô em todas Registrado
1.6K Mensagens 37 Curtidas

Ideias para ajudar na TI Verde

#1 Por heathcliff 25/11/2015 - 18:28
Pessoas... estive pensando em desenvolver algo em shell que tivesse a funcionalidade de desligar o computador do usuário em um ou mais momentos do dia (no horário de almoço, após fim do expediente, fins de semana, feriados...) com o intuito de economizar energia.

Daí me passaram duas situações:
1 - E se um dia específico eu quisesse deixar baixando algo relativo ao trabalho a noite para não consumir recursos da rede enquanto todos trabalham?
Pensei: "Ah, dez minutos antes de desligar ele pergunta se pode mesmo desligar"
2 - ...Mas se eu não quiser desligar as 18h e sim as 20h, aí eu respondo para não desligar daqui a dez minutos e "esqueço" de desligar quando sair (as 20h)?
Pensei: "É... e aí?... vou mandar o script ficar perguntando de hora em hora? não né... é chato... e agora?"

Ideias?

ps.: as ideias não precisam ser necessariamente para resolver esse problema específico se elas vierem a ajudar a fazer essa economia de algum outro modo...
ps2.: as máquinas são linux (entre elas tem ubuntu, mint e debian)

Valeu!
Shura16
Shura16 Ubbergeek Registrado
2.5K Mensagens 601 Curtidas
#2 Por Shura16
26/11/2015 - 08:39
heathcliff disse:

Pessoas... estive pensando em desenvolver algo em shell que tivesse a funcionalidade de desligar o computador do usuário em um ou mais momentos do dia (no horário de almoço, após fim do expediente, fins de semana, feriados...) com o intuito de economizar energia.

Realmente a energia está cara! Dói no bolso e no meio ambiente também.

heathcliff disse:

Daí me passaram duas situações:
1 - E se um dia específico eu quisesse deixar baixando algo relativo ao trabalho a noite para não consumir recursos da rede enquanto todos trabalham?
Pensei: "Ah, dez minutos antes de desligar ele pergunta se pode mesmo desligar"

Então, no dia em que eu quiser deixar baixando algo, posso mandar ele não desligar pelo script mas muitos programas de download desligam após terminar.

Ou mesmo posso criar um script que faça isso usando um wget no fundo de um zeniti por exemplo.

heathcliff disse:

2 - ...Mas se eu não quiser desligar as 18h e sim as 20h, aí eu respondo para não desligar daqui a dez minutos e "esqueço" de desligar quando sair (as 20h)?
Pensei: "É... e aí?... vou mandar o script ficar perguntando de hora em hora? não né... é chato... e agora?"


Então eu posso colocar uma opção de adiar, assim como o do Windows Update do Windows (não sei se você usa).
Ele me exibe a mensagem que eu posso confirmar o desligamento, cancelar ou solicitar que adie para determinada hora (que poderia digitar ou escolher entre opções fixas).

Sobre as máquinas, vejo que uma solução do ShellScript usando Zeniti (ou um script em Python ou outra linguagem dependendo dos seus conhecimentos) vai funcionar para todas da mesma forma e isso é bom!
Coragem não é ausência de medo e sim o controle dele.

Linux em casa!
Windows 10, na empresa!
Agora: Android no bolso!
heathcliff
heathcliff Tô em todas Registrado
1.6K Mensagens 37 Curtidas
#3 Por heathcliff
26/11/2015 - 15:24
Shura16 disse:
Então, no dia em que eu quiser deixar baixando algo, posso mandar ele não desligar pelo script mas muitos programas de download desligam após terminar.
Ou mesmo posso criar um script que faça isso usando um wget no fundo de um zeniti por exemplo.

Então cara, como a ideia é utilizar esse script de desligamento automático para todo mundo independente do nível de conhecimento em Linux, criar um outro script para o download daquele dia ou de outros dias e tal não sei se funcionaria bem...

Shura16 disse:
Então eu posso colocar uma opção de adiar, assim como o do Windows Update do Windows (não sei se você usa).
Ele me exibe a mensagem que eu posso confirmar o desligamento, cancelar ou solicitar que adie para determinada hora (que poderia digitar ou escolher entre opções fixas).
Sobre as máquinas, vejo que uma solução do ShellScript usando Zeniti (ou um script em Python ou outra linguagem dependendo dos seus conhecimentos) vai funcionar para todas da mesma forma e isso é bom!

É isso aí! 10 minutos antes de desligar abre-se uma caixa de diálogo informado do desligamento e com 2 opções "OK", "ADIAR"... sendo que ao clicar em adiar abre-se um novo diálogo com quantidade de tempo...
Não vou por opção de cancelar já para forçar o desligamento... senão é bem possível que meio mundo de gente simplesmente cancele sempre a mensagem aparecer... hahaha...

Valeu pela opinião Shura16!

Mais ideias são bem vindas!
< SEM ASSINATURA > raivoso.png
Shura16
Shura16 Ubbergeek Registrado
2.5K Mensagens 601 Curtidas
#4 Por Shura16
26/11/2015 - 16:31
heathcliff disse:
Então cara, como a ideia é utilizar esse script de desligamento automático para todo mundo independente do nível de conhecimento em Linux, criar um outro script para o download daquele dia ou de outros dias e tal não sei se funcionaria bem...

Sei... pensei também em verificar se o programa de download está aberto/rodando antes de desligar, porém não funcionaria para todos os programas, somente para os principais.
Caso estivesse rodando, verificaria meia hora depois.

heathcliff disse:

Não vou por opção de cancelar já para forçar o desligamento... senão é bem possível que meio mundo de gente simplesmente cancele sempre a mensagem aparecer... hahaha...

The treta has been planted! big_green.png
Coragem não é ausência de medo e sim o controle dele.

Linux em casa!
Windows 10, na empresa!
Agora: Android no bolso!
heathcliff
heathcliff Tô em todas Registrado
1.6K Mensagens 37 Curtidas
#5 Por heathcliff
26/11/2015 - 16:36
então cara... verificar o download seria uma boa... mas como não há um padrão para isso... e nem sempre é um download que está sendo feito né... as vezes pode ter algum outro processo importante rodando lá...
seria algo mais ou menos assim:
zenity --entry --title="ATENÇÃO!!" --text="Especifique quantidade de minutos para seu micro desligar.\n Caso não seja especificado o micro irá desligar em 10 minutos." --entry-text "10"

armazenaria a saída numa var e usava no shutdown -h... bem simples e parece funcionar hehehe...

UPDATE:
código completo:

#!/bin/bash
TEMPO=`zenity --entry --title="ATENÇÃO!!" --text="Especifique quantidade de minutos para seu micro desligar.\n Caso não seja especificado o micro irá desligar em 10 minutos." --entry-text "10" --timeout=30`
if [ ! "$TEMPO" ]; then
TEMPO=10
fi
shutdown -h $TEMPO;
< SEM ASSINATURA > raivoso.png
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal