crontab - manter arquivos crontab para usuários individuais (Vixie Cron)
SINTAXE
crontab [-h]
crontab [-u usuário] [-n] arquivo
crontab [-u usuário] [-i] {-e | -l | -r}
DESCRIÇÃO
crontab é o programa usado para instalar, desinstalar ou listar as tabelas usadas para acionar o daemon cron(8) no Vixie Cron. Cada usuário pode ter seu próprio crontab, e embora sejam arquivos em /var/spool/cron/crontabs, eles não devem ser editados diretamente.
Se o arquivo /etc/cron.allow existir, você deve estar listado (um usuário por linha) para poder usar este comando. Se o arquivo /etc/cron.allow não existir, mas o arquivo /etc/cron.deny existir, você não deve estar listado no arquivo /etc/cron.deny para usar este comando.
Verifique se as permissões do arquivo /etc/cron.allow permitem que ele seja lido pelos usuários que têm permissão. Por exemplo, as permissões rw- r-- r-- (octal 644) devem ser suficientes.
Se nenhum desses arquivos existir, dependendo dos parâmetros de configuração específicos do site, apenas o superusuário terá permissão para usar este comando, ou todos os usuários poderão usar este comando.
Se ambos os arquivos existirem, /etc/cron.allow terá precedência. Isso significa que /etc/cron.deny não será considerado e seu usuário deve estar listado em /etc/cron.allow para poder usar o crontab.
Independentemente da existência de qualquer um desses arquivos, o usuário administrativo raiz sempre tem permissão para configurar um crontab. Para sistemas Debian padrão, todos os usuários podem usar este comando.
Se a opção -h for fornecida, crontab exibe uma mensagem de ajuda e sai imediatamente.
Se a opção -u for fornecida, ela especifica o nome do usuário cujo crontab deve ser usado (ao listar) ou modificado (ao editar). Se esta opção não for fornecida, crontab examina o arquivo crontab "seu", ou seja, o arquivo crontab da pessoa que executa o comando. Observe que su(8) pode confundir o crontab e, se você estiver executando dentro de su(8), sempre deverá usar a opção -u por segurança.
A primeira forma deste comando é usada para instalar um novo crontab a partir de algum arquivo nomeado ou da entrada padrão, se o pseudônimo de arquivo "-" for fornecido.
Se a opção -n for fornecida, isso significa "execução de teste": crontab examina o arquivo crontab "seu" para verificar sua sintaxe e exibe uma mensagem de sucesso se a sintaxe estiver correta, mas nada é gravado em nenhum crontab.
A opção -l faz com que o crontab atual seja exibido na saída padrão. Consulte a nota na seção chamada “ESPECÍFICO DO DEBIAN” abaixo.
A opção -r faz com que o crontab atual seja removido.
A opção -e é usada para editar o crontab atual usando sensible-editor(1). Depois de sair do editor, o crontab modificado será instalado automaticamente.
A opção -i modifica a opção -r para solicitar ao usuário uma resposta "s/S" antes de realmente remover o crontab.
ESPECÍFICO DO DEBIAN
O comportamento padrão para crontab -l é exibir o cabeçalho de três linhas "NÃO EDITE ESTE
ARQUIVO" que é colocado no início do crontab quando ele é instalado. O problema é
que isso torna a sequência
`crontab -l | crontab` não idempotente — você continua adicionando cópias do cabeçalho. Isso causa problemas para scripts que usam `sed`
para editar um crontab. Portanto, o comportamento padrão da opção `-l` foi alterado para não
exibir esse cabeçalho. Você pode obter o comportamento original definindo a variável de ambiente
`CRONTAB_NOHEADER` como 'N', o que fará com que o comando `crontab -l` emita o cabeçalho extra.
REALÇANDO A SAÍDA DE CRONTAB -L
O comando crontab -l produz texto simples. Quando um tty pode suportar sequências ANSI para colorir
esse texto, você pode realçar a saída, chamando: crontab -l | spc -t crontab quando o
fundo do tty for escuro, ou crontab -l | spc -t crontab-light quando esse fundo for claro.
O esquema de realce pode ser modificado usando versões personalizadas dos arquivos
/etc/supercat/spcrc-crontab*
Você também pode colorir esse texto com o programa batcat(1) fornecido pelo pacote bat, aqui está
um exemplo:
`crontab -l | batcat --language Crontab`
VEJA TAMBÉM
^ rontab(5), cron(8), spc(1)
ARQUIVOS
`/etc/cron.allow`, `/etc/cron.deny`
Os arquivos /etc/cron.allow e /etc/cron.deny, se existirem, devem ser legíveis pelo mundo ou
legíveis pelo grupo crontab. Caso contrário, cron(8) negará o acesso a todos os usuários
até que as permissões sejam corrigidas.
`/var/spool/cron/crontabs`
Existe um arquivo para o crontab de cada usuário no diretório /var/spool/cron/crontabs. Os usuários
não têm permissão para editar os arquivos naquele diretório diretamente para garantir que apenas os usuários
permitidos pelo sistema para executar tarefas periódicas possam adicioná-las, e apenas crontabs sintaticamente corretos serão gravados lá. Isso é aplicado tornando o diretório gravável apenas pelo
grupo crontab e configurando o comando crontab com o bit setgid definido para esse grupo específico.
PADRÕES
O comando crontab está em conformidade com o IEEE Std1003.2-1992 ("POSIX"). Essa nova sintaxe de comando difere
das versões anteriores do Vixie Cron, bem como da sintaxe SVR3 clássica.
DIAGNÓSTICOS
Uma mensagem de uso bastante informativa aparece se você executá-lo com uma linha de comando incorreta.
cron(8) exige que cada entrada em um crontab termine com um caractere de nova linha. Se a última entrada em um crontab estiver faltando a nova linha, cron(8) considerará o crontab (pelo menos parcialmente) corrompido e se recusará a instalá-lo.
Os arquivos em /var/spool/cron/crontabs são nomeados com base no nome da conta do usuário. Tarefas do crontab
não serão executadas para usuários cujas contas foram renomeadas devido a alterações no sistema local ou porque são gerenciadas por meio de um banco de dados de usuários central (externo ao sistema, por
exemplo, um diretório LDAP).
AUTORES
Paul Vixie <_> Escreveu este manual (1994).
Steve Greenland <_> Manteve o pacote (1996-2005).
Javier Fernández-Sanguino Peña <_> Manteve o pacote (2005-2014).
Christian Kastner <_> Manteve o pacote (2010-2016).
Georges Khaznadar <_> Manteve o pacote (2022-2024).
DIREITOS AUTORAIS
Copyright © 1994 Paul Vixie
Distribua livremente, exceto: não remova meu nome do código-fonte ou da documentação (não se aproprie do meu trabalho), marque suas alterações (não me culpe por seus possíveis bugs), não altere ou remova este aviso. Pode ser vendido se o código-fonte compilável for fornecido ao comprador. Nenhuma garantia, expressa ou implícita, é incluída com este software; use por sua conta e risco, a responsabilidade por quaisquer danos a qualquer pessoa resultantes do uso deste software é inteiramente do usuário.
Desde o ano de 1994, muitas modificações foram feitas neste manual, feitas por desenvolvedores Debian que mantiveram o cron(TM); acima está uma lista curta, mais informações podem ser encontradas no arquivo /usr/share/doc/cron/copyright.