Agendar tarefas em linux com o cron


Há uma ferramenta em linux que nos permite agendar tarefas. É muitíssimo útil quando queremos que o nosso pc faça alguma coisa quando não estamos perto dele, ou estamos a dormir. Por exemplo: ligar-se à net, verificar e instalar actualizações automaticamente ou iniciar um download (dá muito jeito quando se tem happy hours de download em que não há gasto de tráfego 🙂 ). Aqui podem encontrar uma explicação básica de como o cron funciona. É bastante simples, embora possa dar alguns problemas principalmente para quem quer iniciar alguma aplicação gráfica (Gui). No Ubuntu 7.04 não tive qualquer problema, mas no Gutsy tive. Teoricamente para iniciar, por exemplo o deluge (cliente de bittorrent) era apenas necessário o seguinte: no terminal…

crontab -e

depois colocar o seguinte:

41 23 * * * export DISPLAY=:0 && /usr/bin/deluge

Isto inicia o deluge todos os dias da semana às 23:41 (a explicação para o que significam os asteriscos está no link acima)

Mas a aplicação não iniciava 🙁 Após alguma pesquisa na net encontrei alguém tinha o mesmo problema. A solução passa por dizer ao xorg que “eu” sou um utilizador autorizado a iniciar uma aplicação X (gráfica) a partir do cron… não sei bem por que isto acontece… mas faz-se o seguinte para testar se é este o problema. No terminal:

xhost local:seu_nome_utilizador

Tenta-se programar de novo o cron, ou faz-se ctrl+alt+F2 e vai-se a um terminal tty e executa-se o comando que se encontra no crontab:

export DISPLAY=:0 && /usr/bin/deluge

Volta-se ao ambiente de trabalho (ctrl+Alt+F7) e, se 0 programa estiver a correr, está quase tudo resolvido.

É só programar o cron normalmente e adicionar o seguinte :

sudo nano .bashrc

No final do ficheiro adicionar:

xhost local:seu_nome_utilizador

E pronto! Este problema não nos perturba mais :).

Para quem quer uma interface mais simples de editar o cron é só instalar o gnome schedule ou o kron:

sudo apt-get install gnome-schedule

ou

sudo apt-get install kcron


Deixe um comentário

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.