Um dos utilitários mais úteis no FreeBSD é o cron. Este utilitário é executado em segundo plano e verifica regularmente o /etc/crontab
para que as tarefas sejam executadas e procura /var/cron/tabs
para arquivos crontab personalizados. Estes arquivos são usados para planejar tarefas que o cron executa nos horários especificados. Cada entrada em um crontab define uma tarefa para ser executada e é conhecida como uma tarefa do cron.
Dois tipos diferentes de arquivos de configuração são usados: o crontab do sistema, que não deve ser modificado, e crontabs de usuário, que podem ser criados e editados conforme necessário. O formato usado por esses arquivos está documentado em crontab(5). O formato do sistema crontab, /etc/crontab
inclui uma coluna who
que não existe nos crontabs de usuário. No crontab do sistema , o cron executa o comando como o usuário especificado nesta coluna. Em um crontab de usuário, todos os comandos são executados como o usuário que criou o crontab.
Os crontabs de usuário permitem que usuários individuais programem suas próprias tarefas. O usuário root
também pode ter um crontab
de usuário que pode ser usado para agendar tarefas que não existem no crontab
do sistema .
Aqui está uma entrada de amostra do crontab do sistema, /etc/crontab
:
# /etc/crontab - root's crontab for FreeBSD # # $FreeBSD$ #SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
# #minute hour mday month wday who command
# */5 * * * * root /usr/libexec/atrun
Linhas que começam com o caractere | |
O caractere igual ( | |
Esta linha define os sete campos usados em um crontab do sistema: | |
Esta entrada define os valores para este trabalho do cron. O Comandos podem incluir qualquer número de opções. No entanto, os comandos que se estendem a várias linhas precisam ser quebrados com o caractere de continuação da barra invertida “\”. |
Para criar um crontab de usuário, invoque o crontab
no modo editor:
%
crontab -e
Isto irá abrir o crontab do usuário usando o editor de texto padrão. A primeira vez que um usuário executa este comando, ele abre um arquivo vazio. Depois que um usuário cria um crontab, esse comando abrirá este arquivo para edição.
É útil adicionar estas linhas a parte superior do arquivo crontab para configurar as variáveis de ambiente e lembrar os significados dos campos no crontab:
SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin # Order of crontab fields # minute hour mday month wday command
Em seguida, adicione uma linha para cada comando ou script a ser executado, especificando o horário para executar o comando. Este exemplo executa o script de shell Bourne personalizado especificado todos os dias às duas da tarde. Como o caminho para o script não está especificado em PATH
, o caminho completo para o script é fornecido:
0 14 * * * /usr/home/dru/bin/mycustomscript.sh
Antes de usar um script personalizado, verifique se ele é executável e teste-o com o conjunto limitado de variáveis de ambiente definidas pelo cron. Para replicar o ambiente que seria usado para executar a entrada do cron acima, use:
env -i SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/home/dru
LOGNAME=dru
/usr/home/dru/bin/mycustomscript.sh
O ambiente definido pelo cron é discutido em crontab(5). Verificar se os scripts operam corretamente em um ambiente cron é especialmente importante se incluírem quaisquer comandos que excluam arquivos usando curingas.
Quando terminar de editar o crontab, salve o arquivo. Ele será instalado automaticamente e o cron lerá o crontab e executará seus cron jobs nos horários especificados. Para listar as tarefas agendadas em um crontab, use este comando:
%
crontab -l
0 14 * * * /usr/home/dru/bin/mycustomscript.sh
Para remover todas as tarefas cron em um crontab de usuário:
%
crontab -r
remove crontab for dru?y
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.