FAZENDO O CRONTAB FUNCIONAR COM SCRIPTS SH



Se você gosta de automatizar tarefas no Linux, uma boa ferramenta para se usar é o Crontab. E uma das formas de tornar isso mais poderoso é usando scripts sh no Crontab.

Nesta postagem não vou te ensinar a usar o Crontab, mas apenas fazer algumas configurações que tornam o uso de scripts sh viável, pois sem essas configurações o Crontab se recusa a funcionar com scripts.sh mais avançados.



Então abra o terminal e digite crontab -e, e aperte enter, e no cabeçalho do seu Crontab inclua as seguintes linhas entre as hashtags #IniciodoCrontab e #FimdoCrontab:

#IniciodoCrontab

DISPLAY=":0.0"
XAUTHORITY="/home/seunomedeusuario/.Xauthority"
XDG_RUNTIME_DIR="/run/user/1000"
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

* * * * * export DISPLAY=:0 & /home/seunomedeusuario/seuscript.sh > /home/seunomedeusuario/logdeerrosdocrontab.txt 2>&1

#FimdoCrontab




Lembrando que para criar scripts, você deve salvar um arquivo texto com a extensão sh, que no nosso exemplo será seuscript.sh

Você precisa tornar esse seu script um executável, digitando o comando abaixo no terminal e apertar enter em seguida:

sudo chmod +x seuscript.sh

Agora fique atento, pois na linha XDG_RUNTIME_DIR="/run/user/1000"  talvez você tenha que substituir o número 1000 pelo seu número que pode ser diferente, e para saber o seu número digite no terminal:
id -u 
e aperte enter, e o número que aparecer será o seu número.


Lembrando que as configurações deste meu Crontab tem 5 asteriscos, que vão fazer meu script rodar a cada 1 minuto, e vai também criar e enviar um log com erros para um arquivo texto na minha home chamado logdeerrosdocrontab.txt .

Essas configurações foram testadas apenas no Linux Mint 19.3 Tricia, mas creio que deve funcionar em qualquer linux com apenas algumas modificações.

Fonte:  Os códigos acima foram extraídos deste site

Comentários