Controle e Automação
Publicado por Bruno Santos em 15/06/2015
[ Hits: 3.525 ]
#Desauto_V3.0_brsantos_02/06/15
menu="=======>>Desligamento Automático<<========
|==>Modos de desligamento |
|Temporizado >>T<< [HH:MM; H:M ou MMMM] |
|Agendado >>A<< [H{0..24} M{0..60}] |
|Imediato >>I<< |
=========================================="
menuset1="|==>Modo Selecionado (Temporizado) |"
menuset2="|==>Modo Selecionado (Agendado) |"
echo "$menu"
read modo
if [ $modo = 'I' -o $modo = 'i' ]
then sudo shutdown -v -h -P +0
fi
if [ $modo = 'T' -o $modo = 't' ]
then
clear;echo "$menu"
echo "|==>Setup Temporizado |\n|Quantas horas? |"
read H
clear;echo "$menu"
echo "|==>Setup Temporizado |\n|Quantos minutos? |"
read M
clear;echo "$menu\n$menuset1\n|Iniciado "$(date +%H:%M:%S)"||=======Timer=======|"
elif [ $modo = 'A' -o $modo = 'a' ]
then
clear;echo "$menu"
echo "|==>Setup Agendado |\n|Para que hora? |"
read horaAG
clear;echo "$menu"
echo "|==>Setup Agendado |\n|Para que minuto? |"
read minAG
clear;echo "$menu\n$menuset2\n|Iniciado "$(date +%H:%M:%S)"||=======Timer=======|"
horaA=$(date +%H)
minA=$(date +%M)
if [ $(($horaAG-$horaA)) -lt 0 ]
then
H=$(($horaAG+24-$horaA))
else
H=$(($horaAG-$horaA))
fi
if [ $(($minAG-$minA)) -lt 0 ]
then
M=$(($minAG+60-$minA))
H=$(($H-1))
else
M=$(($minAG-$minA))
fi
else clear;echo "Digite o modo corretamente: T ou t; A ou a; I ou i"
exit
fi
horaA=$(date +%H)
minA=$(date +%M)
seg=$(date +%S)
minF=$M
horaF=$H
if [ $M -gt 60 ]
then
while [ $minF -gt 60 ]
do
minF=$(($minF-60))
horaF=$(($horaF+1))
done
fi
if [ $horaA -lt 10 -a $horaA -gt 0 ]
then
horaP=$(($H+${horaA#*0}))
else
horaP=$(($H+$horaA))
fi
if [ $minA -lt 10 -a $minA -gt 0 ]
then
minP=$(($M+${minA#*0}))
else
minP=$(($M+$minA))
fi
while [ $minP -ge 60 ]
do
minP=$(($minP-60))
horaP=$(($horaP+1))
done
min=$minP
hora=$horaP
if [ $hora -ge 24 ]
then
hora=$(($hora-24))
fi
if [ $min -lt 10 -o $hora -lt 10 ]
then
if [ $min -lt 10 -a $hora -lt 10 ]
then echo "|Hora_Final 0"$hora":0"$min":"$seg"|| "$horaF"H "$minF"M <=="
elif [ $hora -lt 10 ]
then echo "|Hora_Final 0"$hora":"$min":"$seg"|| "$horaF"H "$minF"M <=="
else echo "|Hora_Final "$hora":0"$min":"$seg"|| "$horaF"H "$minF"M <=="
fi
else echo "|Hora_Final "$hora":"$min":"$seg"|| "$horaF"H "$minF"M <=="
fi
Thora=$horaF
Tmin=$minF
Tseg=0
segC=$seg
while [ $Thora$Tmin$Tseg -ne 000 ]
do
segA=$(date +%S)
NsegA=$(date +%N)
if [ $segC -ne $segA ]
then
Tseg=$(($Tseg-1))
segC=$segA
fi
if [ $Tseg -lt 0 ]
then
Tseg=59
Tmin=$(($Tmin-1))
fi
if [ $Tmin -lt 0 ]
then
Tmin=59
Thora=$(($Thora-1))
fi
echo -n "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b|Hora_Atual "$(date +%H:%M:%S)"|| ==> $Thora""H"" $Tmin""M"" $Tseg""S "
done
Tseg=0
sudo shutdown -v -h -P +1
clear
exit
Nome de arquivo com espaço dentro de variáveis
Comando cd + CDPATH - Facilitando a navegação de arquivos
Achar ip válido e jogar para uma variável
Variável de numero inteiro ou float
Operações matemáticas diretamente pelo bash
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Abrir um arquivo URL pelo Clipper (8)
Seno, Coseno, Tangente em CLIPPER (1)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









