Uma funcionalidade bastante importante para o administrador de sistemas é a possibilidade de agendar a execução de tarefas (por exemplo um script shell), de forma que ela execute de forma automática, na data e hora desejadas. No Linux isto é possível com a utilização do utilitário de nome cron que terá sua funcionalidade básica descrita a seguir.
Para se criar, listar ou remover agendamentos utilizamos o comando crontab com as seguintes opções:
Sintaxe : crontab [opções]
Opções (principais):
-e usuario: Para criar agendamento(s).
-l usuario: Para listar os agendamentos.
-r usuario: Para remover o arquivo de agendamentos.
Caso o usuário não seja indicado no comando, será considerado o usuário que está “logado” no monento.
A sintaxe do arquivo onde agendamos as tarefas é particular do cron. Em cada linha do arquivo temos um agendamento, da seguinte forma:
#minuto hora dia mês dia-da-semana comando
Os valores possíveis para cada campo são:
minuto : 0 a 59
hora : 0 a 23
dia : 1 a 31
mês : 1 a 12
dia-da-semana : 1 a 7
comando : Qualquer comando válido
Obs 1: Em dia_da_Semana, 0 refere-se a domingo; e 6, ao sábado.
No caso de dia da semana funciona também as três primeiras letras
(em inglês) do dia da semana (SUN,MON,TUE,WED,THU,FRI,SAT)
Obs 2: Em qualquer posição pode-se usar o * (asterisco) quando não se
importar com o campo em questão.
Obs 3: Pode-se utilizar intervalos nesses campos. O caracter para intervalo
é o - (hifen).
Obs 4: Pode-se utilizar lista de valores nesses campos. O caracter para a
lista é a , (vírgula).
Obs 5: Qualquer texto colocado após o programa que será executado será
considerado comentário e não será interpretado pelo cron
15 0 * * * /root/scripts/backup.sh
15 6 * * * /root/scripts/backup.sh
15 6 1 * * /root/scripts/backup.sh
15 0,6,12,18 * * * /root/scripts/backup.sh
15 */6 * * * /root/scripts/backup.sh
15 */6 * * 1-5 /root/scripts/backup.sh