Automatizar as tarefas com init et crontab

No Linux, é fácil automatizar as tarefas, com init para lançar uma tarefa no arranque, ou então com crontab para lançar uma tarefa em um momento preciso.
Existem vários softwares que geram os crontabs, aqui o software é apresentado.

Criar uma nova tarefa

Antes de tudo, é preciso criar um novo arquivo que executará o código que se vê. Para tanto, basta abrir um editor (como root), e registrar o arquivo na pasta desejada (veja mais abaixo). Não esqueça de indicar o interpretador a ser usado no início do arquivo.
Por exemplo (com bash) :

#!/bin/bash   
comando;   
...

É possível utilizar um outro interpretador, mudando simplesmente #!/bin/bash pelo interpretador escolhidoa : #!/bin/python, #!/bin/perl, etc.

Em seguida, é preciso fazer o arquivo ser executável :
# chmod 755 /diretório/meuarquivo

Lançar uma tarefa no arranque: init

Apresentação

init é o primeiro processo, executado pelo núcleo, que é pai de todos os outros (seu PID é então 1).
No arranque, ele lança diversos scripts contidos no /etc/init.d/ ou /etc/rc*.d/.

É na pasta /etc/init.d que é preciso registrar os arquivos a serem lançar no arranque.
É preciso adicionar o arquivo na lista dos processos lançados no arranque:
# update-rc.d mon-fichier defaults

Mais informações

Digite em um terminal :

  • ls -l /etc/init.d/ para ver os scripts lançados no arranque
  • init --help
  • cat /etc/init.d/README
  • man init
  • info init
  • man update-rc.d

Lançar uma tarefa em um momento preciso: crontab

Apresentação

cron permite lançar uma tarefa regularmente : todos os dias, todas as semanas, todas as horas...
Com crontab, tem um arquivo cron pelo usuário.

Adicionar uma tarefa

Existe várias pastas contendo tarefas executadas pelos crons :

  • /etc/cron.hourly : os scripts executados cada hora.
  • /etc/cron.daily : os scripts executados cada dia.
  • /etc/cron.weekly : os scripts executados cada semana.
  • /etc/cron.monthly : os scripts executados cada mês.

Basta criar um arquivo na pasta correspondente.

No entanto, é possível lançar tarefas em momentos precisos.
Para tanto, é preciso criar um arquivo respeitando a sintaxe de crontab (veja o capítulo abaixo) no /etc/cron.d/, que conterá ele mesmo um comando ou que executará um outro arquivo.

É possível criar tarefas para um usuário em particular. É preciso editar o arquivo crontab do usuário (ver abaixo).

Sintaxe do arquivo crontab

Existem vários tutoriais sobre este tema.
Vela :

Lançar uma tarefa para somente um usuário

Para tanto ; é preciso editar seu arquivo usuário, digitando no console crontab -e.
Se você criar um arquivo crontab para outro usuário que não seja o habitual, é preciso passar pelo comando # crontab -u usuário -e.
É preciso em seguida registrar o arquivo, sem trocar seu nome ou seu lugar.
É preciso sempre passar pelo comando crontab -e para editar o arquivo

mais informações

Digite em um terminal :

  • man cron
  • info cron

Veja:

Cron com uma interface gráfica

Existem diversos softwares gráficos que permitem criar tarefas automatizadas:

  • kcron
  • gcrontab

Artigo <a href='http://www.commentcamarche.net/faq/8447-automatiser-des-taches-avec-init-et-cron
'>original</a> publicado por Ssylvainsab
Tradução feita por Ana Spadari

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.
Este documento, intitulado 'Automatizar as tarefas com init et crontab', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

Assine nossa newsletter!

Assine nossa newsletter!
Junte-se à comunidade