cron é o daemon responsável por executar comandos agendados e recorrentes (todo dia, toda hora, toda semana, etc.); atd lida com comandos a serem executados uma única vez, mas em um momento específico no futuro.
locate;
crontab -e (seu conteúdo é armazenado no arquivo /var/spool/cron/crontabs/usuário).
/etc/crontab, ou escrever arquivos crontab adicionais no diretório /etc/cron.d. Essas duas últimas soluções têm a vantagem de ser capaz de especificar a identidade do(a) usuário(a) a usar quando o comando for executado.
crontab descreve um comando agendado com os seguintes seis (ou sete) campos:
Sun, Mon, etc.);
/etc/crontab e nos fragmentos localizados em /etc/cron.d/, mas não nos arquivos crontab do(a) próprio(a) usuário(a));
a-b descreve o intervalo de todos os valores entre a e b. A sintaxe a-b/c descreve o intervalo com um incremento de c (exemplo: 0-10/2 significa 0,2,4,6,8,10). Um asterisco * é um coringa, representando todos os valores possíveis.
Exemplo 9.2. Exemplo de arquivo crontab de usuário(a)
#Formato #min hora dia mês dia-da-semana comando # Baixa dados toda noite às 19:25 25 19 * * * $HOME/bin/get.pl # 8:00 da manhã, nos dias de semana (Segunda a Sexta) 00 08 * * 1-5 $HOME/bin/dosomething # a cada duas horas * */2 * * * $HOME/bin/dosomethingelse # Reiniciar o proxy IRC após cada reinicio @reboot /usr/bin/dircproxy
at executa um comando em um momento específico no futuro. Ele recebe o horário e data desejados como parâmetros de linha de comando, e o comando a ser executado em sua saída padrão. O comando será executado como se tivesse sido digitado no shell corrente. at até toma o cuidado de reter o ambiente corrente, para poder reproduzir as mesmas condições quando executa o comando. O horário é indicado pelas seguintes convenções usuais: 16:12 ou 4:12pm representa 4:12 da tarde. A data pode ser especificada em vários formatos europeus e ocidentais, incluindo DD.MM.YY (27.07.22 assim representando 27 de julho de 2022), YYYY-MM-DD (essa mesma data sendo expressa como 2022-07-27), MM/DD/[CC]YY (isto é, 12/25/22 ou 12/25/2022 será 25 de dezembro de 2022), ou simplesmente MMDD[CC]YY (logo 122522 ou 12252022 irá, do mesmo modo, representar 25 de Dezembro de 2022). Sem isso, o comando será executado assim que o relógio alcançar o horário indicado (no mesmo dia, ou amanhã se o horário já tiver passado no mesmo dia). Você também pode simplesmente escrever “today” (hoje) ou “tomorrow” (amanhã), o que é auto-explicativo.
$at 09:00 27.07.22 <<END>echo "Não se esqueça de desejar feliz aniversário para Raphaël!" \>| mail lolando@debian.org>ENDAviso: comandos serão executados utilizando/bin/sh job 1 at Wed Jul 27 09:00:00 2022
at now + número período. O período pode ser minutos, horas, dias, ou semanas. O número apenas indica o número de unidades ditas que tem que ocorrer antes da execução do comando.
cron, apenas rode crontab -e e apague a linha correspondente no arquivo crontab. Para tarefas do at, também é fácil: rode atrm número-da-tarefa. O número da tarefa é indicado pelo comando atno momento em que você vez o agendamento, mas você pode obter ele novamente com o comando atq, o qual retorna a lista corrente de tarefas agendadas.