sábado, 9 de maio de 2020

Agendamento Tarefas no Linux com Crontab

É comum precisarmos que o computador realize tarefas periódicas ou mesmo que ele rode determinado script após a inicialização do sistema operacional.

Este tópico apresenta uma das formas de realizar esse tipo de tarefa, utilizando o Cron.

O Crontab é um software do linux que permite a execução em horário e dias específicos e descarta, por exemplo, a necessidade de edição do arquivo rc.local para criação de tarefas de inicialização no sistema.

Como duas ferramentas principais de seu uso, temos a ferramenta de visualização das tarefas já agendadas e a segunda ferramenta de edição.

Para visualizar as tarefas agendadas, execute o comando:

crontab -l



No exemplo acima, podemos ver duas tarefas agendadas, a primeira será executada todo dia às 9:30 da manhã e fará a execução de um script de python.

A segunda, executa diariamente a mesma tarefa, às 13:25.

Para agendar a tarefa para ser realizada na inicialização do sistema, por exemplo você poderia criar a tarefa:
@restart python3 /caminho/script.py

A sintaxe do crontab, segue a seguinte ideia:
m h diadomes mes diadasemana
Para o dia do mes, mes e dia da semana, se você colocar o flag *, o mesmo será executado todos os dias.
Abaixo listo alguns exemplos:
30 0 1 * * python3 /caminho/script.py => Executa o script sempre no dia 01 do mês, às 0:30.
30 0 1 4 * python3 /caminho/script.py => Executa o script sempre no dia 01 do mês de abril, às 0:30.
0 12 * * 1 python3/caminho/script.py => Executa o script sempre às segundas feiras.

Conhecendo a sintaxe é hora então de criar sua tarefa. Para criar um novo agendamento, portanto, você deve executar o comando:

crontab -e

Por padrão ele abrirá o editor nano. Tudo o que precisa fazer é adicionar a linha desejada ao fim do arquivo. Você verá na barra inferior, alguns atalhos do nano. Lembre-se que a marcação ^ significa control no Linux.
Portanto, para salvar o arquivo pressione Ctrl + O.
Para sair do editor do crontab pressione Ctrl + X.

Boa sorte! Qualquer dúvida, mande mensagem.

sexta-feira, 1 de maio de 2020

IP Fixo Raspberry Pi 3

Para setar o IP fixo na interface desejada, é necessário editar o arquivo /etc/dhcpcd.conf, conforme indicado abaixo.
O arquivo dhcpcd.conf já vem com algumas linhas exemplo comentadas, mas para correto funcionamento, deve-se deixar conforme abaixo.
interface wlan0
static ip_address=192.168.0.150/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8
Lembrar que para o raspberry Pi 3, existem duas interfaces. eth0 se refere a placa de rede (física), enquanto a interface wlan0 se refere a interface Wifi. 
No exemplo acima, está sendo setado o IP 192.168.0.150 na interface Wifi.