
O agendamento das tarefas consiste em executar automaticamente uma tarefa (uma aplicação, um comande...= em intervalos de tempo regulares ou então em momentos precisos. Geralmente este tipo de procedimento é utilizado para automatizar backups, principalmente em momentos em que o sistema está sendo menos solicitado (tipicamente durante a noite para os servidores).
Os sistemas de tipo Unix (então Linux) possuem uma aplicação (mais exatamente um demônio) permitindo realizar este tipo de serviço, trata-se de cron.
Cron está baseado em uma mesa de referenciamento as tarefas a serem lançadas bem como o ano, o mês, o dia, a hora e o minuto para executá-lo.
Cron é constituído:
cron (na realidade crond)encontra-se geralmente no diretório /usr/sbin ou /sbin nas distribuições recentes. Para conhecer o lugar de crond na sua distribuição linux, basta digitar o seguinte comando:
whereis crond
O comando crontabedita na verdade um arquivo relativo ao usuário que o executa. Este arquivo se situa no:
/var/spool/cron/crontabs/usuário
/var/spool/cron/crontabs/root
para editar a mesa cron. Basta executar a seguinte tarefa:
crontab -e
Cada entrada da mesa (cada linha) correspondente a uma tarefa para executar e é notado da seguinte forma :
mm hh jj MMM JJJ tarefa > log
Imaginemos que se queira fazer um jornal (no arquivo /tmp/log_df.txt por exemplo)automatizada do espaço disco livre (comando df) em intervalos de tempo bem preciso:
30 23 * * * df >>/tmp/log_df.txt
30 23 1 * * df >>/tmp/log_df.txt
28 22 * * 1 df >>/tmp/log_df.txt
12 10 2-5 * * df >>/tmp/log_df.txt
59 23 */2 * * df >>/tmp/log_df.txt
O seguinte script shell (que supõem-se estocar em /home/backup com o nome backup.cmd)exporte os registros de MySQL (da mesa ccmusers por exemplo) no arquivo cujo nome é ccmusers acompanhamento da data sob forma dia-mês-ano-hora-minuto :
#!/bin/sh
DATE=$(date +%d-%m-%Y-%H-%M)
/usr/local/mysql/bin/mysqldump -u root ccmusers > /home/backup/ccmusers${DATE}.sql
59 23 * * * /home/backup/backup.cmd >>/dev/null
Inspirado no artigo de Linux Magazine
Artigo original publicado por CCM
Tradução feita por Ana Spadari