Despertador em Shell

Publicado por Slackjeff em 06/08/2017

[ Hits: 6.355 ]

Blog: https://slackjeff.com.br

 


Despertador em Shell



Você não leu errado, vou te ensinar a criar um despertador salva-vidas em shell, mas antes disso preciso contar o que aconteceu.

Estava eu em casa, tranquilo e sozinho quando de repente me vem a cabeça algo! (Amanhã começa meu curso de PHP) e preciso estar as 6 horas da manhã de pé.

Beleza, uma pessoa normal iria pegar o celular e programar o despertador, o problema que eu sou um pouco antiquado e não utilizo celular, É SÉRIO!

Inicialmente eu tive uma ideia de pedir a um vizinho para me chamar a hora que ele fosse para o trabalho, isso seria às 7 da manhã, o problema que ele falou "Não estou em casa, estou na namorada".

A coisa complicou, ai surgiu a "ideia" vamos programar um despertador em shell.

E aqui estou eu... vou te ensinar a criar esse despertador super avançado (kkkk) que irá te salvar na hora que você mais precisa.

O primeiro passo a se fazer é baixar o Beep, se você usa o Debian ou derivados rode:

# apt install beep

Feito isso vamos agora à parte boa o script.

#!/bin/bash
#Script despertador
#Sem função soneca!.
#Escrito por Slackjeff

beep -f 2000 -l 200
beep -f 2000 -l 100
beep -f 2000 -l 200
beep -f 2000 -l 100

sleep 1.5 ;

beep -f 2000 -l 200
beep -f 2000 -l 100
beep -f 2000 -l 200
beep -f 2000 -l 100

sleep 1.5 ;

beep -f 2000 -l 200
beep -f 2000 -l 100
beep -f 2000 -l 200
beep -f 2000 -l 100

sleep 1.5 ;

beep -f 2000 -l 200
beep -f 2000 -l 100
beep -f 2000 -l 200
beep -f 2000 -l 100

#Fim do script 

O que acabamos de fazer? Utilizamos o comando Beep com a opção -f ALTURA, que por sinal é o mais alto. E o -l TEMPO. Podemos dar uma mexida no script e adicionar um sleep de 600, configurando assim nossa soneca em 10 minutos.

#!/bin/bash
#Script despertador
#Com função soneca, 10 minutos.
#Escrito por Slackjeff

beep -f 2000 -l 200
beep -f 2000 -l 100
beep -f 2000 -l 200
beep -f 2000 -l 100

sleep 1.5 ;

beep -f 2000 -l 200
beep -f 2000 -l 100
beep -f 2000 -l 200
beep -f 2000 -l 100

sleep 1.5 ;

beep -f 2000 -l 200
beep -f 2000 -l 100
beep -f 2000 -l 200
beep -f 2000 -l 100

sleep 1.5 ;

beep -f 2000 -l 200
beep -f 2000 -l 100
beep -f 2000 -l 200
beep -f 2000 -l 100

sleep 600 ; #Função soneca, 600 equivale a 10 minutos.

beep -f 2000 -l 200
beep -f 2000 -l 100
beep -f 2000 -l 200
beep -f 2000 -l 100

sleep 1.5 ;

beep -f 2000 -l 200
beep -f 2000 -l 100
beep -f 2000 -l 200
beep -f 2000 -l 100

sleep 1.5 ;

beep -f 2000 -l 200
beep -f 2000 -l 100
beep -f 2000 -l 200
beep -f 2000 -l 100

sleep 1.5 ;

beep -f 2000 -l 200
beep -f 2000 -l 100
beep -f 2000 -l 200
beep -f 2000 -l 100

#Fim do script

O tamanho do script dependerá de você, é claro.

Eu utilizo no minimo 4x mais linhas, pois é... sono pesado é fogo.

Bom, temos nosso despertador tudo certinho, testamos e está tudo ok, mas falta algumas coisinhas que deverão ser feitas ainda.

Vamos começar, deixando o comando global, vamos jogar em /usr/bin o nosso script.

# cp despertador /usr/bin/

Ótimo, está funcionando tudo certo não é? mas como vamos agendar o despertador para despertar as, hmmm vamos ver... 8 horas da manhã? a resposta é simples... Crontab simples e fácil.

Vamos rodar o comando, preferencialmente no usuário comum, lembrando que cada usuário (comum e root) tem um crontab diferente, se o script necessitar de root, utilize o crontab como root.

crontab -e

e cole lá dentro:

#Despertador todos os dias as 06:15 da manha
15 6 * * * /usr/bin/despertador

Então basicamente pedimos ao crontab despertar as 6:15 todos os dias (se o PC estiver ligado é claro).

Salve o arquivo e rode o comando (com o usuário que criou o cron) crontab -l, para listar:

crontab - l

Como visto o despertador foi agendado corretamente!

Para maiores informações utilize o MAN.

É isso, abraços a todos.

Outras dicas deste autor

Erro: 'locale: Cannot Set LC_ALL' no Slackware [Resolvido]

Google Chrome no Slackware 14x

Iniciando no Slackware em computador fraco

Compilação de Kernel Personalizado + TXZ [Vídeo]

Qual é a diferença entre Unix e Linux

Leitura recomendada

Confirmação automática para slackpkg

Base de dados mais organizada em shell script

Contador de Palavras no Terminal

Entrando com argumentos em shell script

Wallpaper Slideshow no LXDE

  

Comentários
[1] Comentário enviado por removido em 09/08/2017 - 18:27h

Achei bastante interessante, excelente artigo!

_______________________________
Kernel: 4.12.4 (x86_64 LowLatency)
CPU: i5-2410M 2.9GHz RAM: 7811MiB

[2] Comentário enviado por cizordj em 19/09/2017 - 22:37h

Pra quê celular isso é bem mais prático kk, belo artigo



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts