Controle e Automação
Publicado por Bruno Santos em 15/06/2015
[ Hits: 3.526 ]
#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
Declarando constantes em shell scripts
Usando variáveis para alterar arquivos com sed, *grep e outros
Exportar variáveis de um script no mesmo sub-shell
Achar ip válido e jogar para uma variável
Compilar programas com muitos parâmetros
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
Utilizando a Ferramenta xcheckrestart no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
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)









