|
Busca |
No Linux, as tarefas podem ser configuradas para se executarem automaticamente a determinado momento e a determinada data. Red Hat Linux está pré-configurado para a execução de certas tarefas de sistema permitindo ter o seu sistema actualizado. Por exemplo, a base de dados é actualizada diariamente. Um administrador de sistema pode utilizar tarefas automatizadas para efectuar backups periódicos, vigiar o sistema, executar scripts personalizados, etc. O ficheiro de configuração principal de cron, /etc/crontab, contém as seguintes linhas: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 **** root run-parts /etc/cron.hourly 02 4*** root run-parts /etc/cron.daily 22 4 **0 root run-parts /etc/cron.weekly 42 4 1 **root run-parts /etc/cron.monthly As quatro primeiras linhas são variáveis que servem a configurar o ambiente no qual as tarefas cron são utilizadas (neste exemplo, bash shell), e a variável PATH define o caminho de acesso utilizado para a execução dos comandos. O resultado das tarefas cron é enviado por e-mail ao nome de utilizador definido pela variável MAILTO. Se a variável MAILTO é uma cadeia vazia (MAILTO=""), nenhum e-mail será enviado. A variável HOME pode ser utilizada para a parametrização do directório a utilizar para a execução dos comandos ou dos scripts. Cada linha do ficheiro /etc/crontab têm o formato: minute hour day month dayofweek command
Para os valores abaixo, um asterisco (*) pode ser utilizado para indicar todos os valores válidos. Por exemplo, um asterisco utilizado para o valor do mês significa uma execução do comando todos os meses (respeitando as restrições dos outros valores). O hífen (-) posto entre dois números inteiros indica uma gama de números inteiros. Por exemplo, 1-4 corresponde aos números inteiros 1, 2, 3 e 4. Uma lista de valores separados por virgulas (,) corresponde a uma lista. Por exemplo, 3, 4, 6, 8 corresponde a estes quatro números inteiros específicos. A barra oblíqua (/) pode ser utilizada para especificar valores escalonados. Para passo um número inteiro numa gama, faça-o seguir a /. Por exemplo, 0-59/2 permite de definir um minuto sobre dois no campo dos minutos. Estes valores escalonados podem também ser utilizados com um asterisco. Por exemplo, o valor */3 pode ser utilizado no campo dos meses para passar de um mês sobre três. As linhas que começam com o símbolo (#) correspondem a comentários e não são tratados. Primeiro, deve garantir-se que o script funciona em modo shell, ou seja que é capaz de executar-se em linha de comando. Para isso, deve pôr na primeira linha #!/usr/local/bin/php se se trata de um script php, #!/usr/bin/perl se é de um script perl, ou #!/bin/bash para um script shell, depois utilizar o comando chmod 700 o_seu_script sobre o script. Se consegue aceder a telnet/ssh, pode testar a sua execução com ./o_seu_script Basta depois inserir no ficheiro /etc/crontab, o caminho do script e as horas de execução. Exemplo: Implementação de um script automático para a utilização das curvas mrtgs: */5 **** root /usr/local/mrtg-2/bin/mrtg /home/ovh/www/mrtg/mrtg-sys/mrtg-sys/mrtg_nsxxxx.ovh.net.cfg >/dev/null 2>/dev/null
/home/ovh/www/mrtg/mrtg-sys/mrtg-sys/mrtg_nsxxxx.ovh.net.cfg corresponde ao caminho para o script que queremos executar.
*/5 **** corresponde ao momento em que queremos a execução.
Aqui o script sera lançado todos os 5 minutos. |