CRONTAB - AGENDAR TAREFAS NO LINUX!
Índice:
- O que é o arquivo Crontab
- Sintaxe e operadores do Crontab
- Arquivos Crontab em todo o sistema
- Macros predefinidas
- Comando Linux Crontab
- Variáveis Crontab
- Restrições ao Crontab
- Exemplos de empregos Cron
- Conclusão
Cron é um daemon de agendamento que executa tarefas em intervalos especificados. Essas tarefas são chamadas de tarefas cron e são usadas principalmente para automatizar a manutenção ou administração do sistema.
Por exemplo, você pode definir um trabalho cron para automatizar tarefas repetitivas, como fazer backup de bancos de dados ou dados, atualizar o sistema com os patches de segurança mais recentes, verificar o uso do espaço em disco, enviar e-mails etc. Alguns aplicativos, como Drupal ou Magento, exigem tarefas cron para executar determinadas tarefas.
Os trabalhos cron podem ser agendados para serem executados por um minuto, hora, dia do mês, mês, dia da semana ou qualquer combinação destes.
O que é o arquivo Crontab
Crontab (tabela cron) é um arquivo de texto que especifica o agendamento de tarefas cron. Existem dois tipos de arquivos crontab. Os arquivos crontab em todo o sistema e os arquivos crontab de usuários individuais.
Os arquivos crontab dos usuários são armazenados pelo nome do usuário e sua localização varia de acordo com os sistemas operacionais. No sistema baseado no Red Hat, como o CentOS, os arquivos crontab são armazenados no diretório
/var/spool/cron
, enquanto os arquivos Debian e Ubuntu são armazenados no diretório
/var/spool/cron/crontabs
.
Embora você possa editar os arquivos crontab do usuário manualmente, é recomendável usar o comando
crontab
.
/etc/crontab
e os arquivos dentro do diretório
/etc/cron.d
são arquivos crontab em todo o sistema que podem ser editados apenas pelos administradores do sistema.
Na maioria das distribuições Linux, você também pode colocar scripts nos diretórios
/etc/cron.{hourly, daily, weekly, monthly}
e os scripts serão executados a cada
hour/day/week/month
.
Sintaxe e operadores do Crontab
Cada linha no arquivo crontab do usuário contém seis campos separados por um espaço seguido pelo comando a ser executado.
* * * * * command(s) - - - - - | | | | | | | | | ----- Day of week (0 - 7) (Sunday=0 or 7) | | | ------- Month (1 - 12) | | --------- Day of month (1 - 31) | ----------- Hour (0 - 23) ------------- Minute (0 - 59)
Os cinco primeiros campos podem conter um ou mais valores, separados por vírgula ou um intervalo de valores separados por um hífen.
-
*-O operador asterisco significa qualquer valor ou sempre. Se você tiver o símbolo de asterisco no campo Hora, significa que a tarefa será executada a cada hora.,-O operador de vírgula permite especificar uma lista de valores para repetição. Por exemplo, se você tiver1, 3, 5no campo Hora, a tarefa será executada às 1h, 3h e 5h.--O operador hífen permite especificar um intervalo de valores. Se você tiver de1-5a1-5no campo Dia da semana, a tarefa será executada todos os dias da semana (de segunda a sexta-feira)./-O operador de barra permite especificar valores que serão repetidos durante um certo intervalo entre eles. Por exemplo, se você tiver*/4no campo Hora, significa que a ação será executada a cada quatro horas. É o mesmo que especificar0, 4, 8, 12, 16, 20. Em vez de asterisco antes do operador de barra, você também pode usar um intervalo de valores,1-30/10significa o mesmo que1, 11, 21.
Arquivos Crontab em todo o sistema
A sintaxe dos arquivos crontab em todo o sistema é um pouco diferente das crontabs do usuário. Ele contém um campo de usuário obrigatório adicional que especifica qual usuário executará o trabalho cron.
Existem várias macros especiais de programação Cron usadas para especificar intervalos comuns. Você pode usar esses atalhos no lugar da especificação de data de cinco colunas. O comando crontab permite instalar ou abrir um arquivo crontab para edição. Você pode usar o comando crontab para visualizar, adicionar, remover ou modificar tarefas cron usando as seguintes opções: O comando crontab abre o arquivo crontab usando o editor especificado pelas variáveis de ambiente
O daemon cron define automaticamente várias variáveis de ambiente. Os administradores de sistema podem controlar quais usuários têm acesso ao comando
Por padrão, apenas o arquivo
Se o arquivo
Se nenhum arquivo existir, apenas os usuários com privilégios administrativos poderão usar o comando
Abaixo estão alguns exemplos de tarefas cron que mostrarão como agendar uma tarefa para ser executada em diferentes períodos de tempo. Execute um comando às 15:00 todos os dias de segunda a sexta-feira: Execute um script a cada 5 minutos e redirecione a saída padrão para
Execute dois comandos toda segunda-feira às 15h (use o operador
Execute um script PHP a cada 2 minutos e grave a saída em um arquivo: Execute um script todos os dias, a cada hora, das 8h às 16h: Execute um script na primeira segunda-feira de cada mês, às 7h. Execute o script a às 21h15, nos dias 1 e 15 de cada mês: Defina as variáveis
Você aprendeu a criar trabalhos cron e agendar tarefas em uma data e hora específicas. Sinta-se livre para deixar um comentário se tiver alguma dúvida.
* * * * * command(s)
* * * * * command(s)
Macros predefinidas
@yearly
(ou
@annually
) - Execute a tarefa especificada uma vez por ano à meia-noite (00:00) de 1º de janeiro. Equivalente a
0 0 1 1 *
.
@monthly
- Execute a tarefa especificada uma vez por mês à meia-noite no primeiro dia do mês. Equivalente a
0 0 1 * *
.
@weekly
- Execute a tarefa especificada uma vez por semana à meia-noite de domingo. Equivalente a
0 0 * * 0
.
@daily
- Execute a tarefa especificada uma vez por dia à meia-noite. Equivalente a
0 0 * * *
.
@hourly
- Execute a tarefa especificada uma vez por hora no início da hora. Equivalente a
0 * * * *
.
@reboot
- Execute a tarefa especificada na inicialização do sistema (tempo de inicialização).Comando Linux Crontab
crontab -e
- Edite o arquivo crontab ou crie um, se ele ainda não existir.
crontab -l
- Exibe o conteúdo do arquivo crontab.
crontab -r
- Remove seu arquivo atual do crontab.
crontab -i
- Remova o arquivo atual do crontab com um aviso antes da remoção.
crontab -u
VISUAL
ou
EDITOR
.
Variáveis Crontab
PATH=/usr/bin:/bin
. Se o comando que você está chamando estiver presente no caminho especificado no cron, você poderá usar o caminho absoluto para o comando ou alterar a variável cron
$PATH
. Você não pode anexar implicitamente
:$PATH
como faria com um script comum. O shell padrão é definido como
/bin/sh
. Você pode definir um shell diferente alterando a variável
SHELL
chama o comando do diretório inicial do usuário. A variável
HOME
pode ser substituída pelas configurações no crontab. A notificação por email é enviada ao proprietário do crontab. Para substituir o comportamento padrão, você pode usar a variável de ambiente
MAILTO
com uma lista (separada por vírgula) de todos os endereços de email que deseja receber as notificações por email. Se
MAILTO
estiver definido, mas vazio (
MAILTO=""
), nenhum email será enviado.Restrições ao Crontab
crontab
usando os arquivos
/etc/cron.allow
e
/etc/cron.allow
. Os arquivos consistem em uma lista de nomes de usuários, um nome de usuário por linha.
/etc/cron.deny
existe e está vazio, o que significa que todos os usuários podem usar o comando crontab. Se você deseja negar o acesso aos comandos crontab a um usuário específico, adicione o nome de usuário a este arquivo.
/etc/cron.allow
existir, apenas os usuários listados neste arquivo poderão usar o comando
crontab
.
crontab
.Exemplos de empregos Cron
0 15 * * 1-5 command
dev null
, apenas o erro padrão será enviado para o endereço de email especificado:
[email protected] */5 * * * * /path/to/script.sh > /dev/null
&&
entre os comandos):
0 15 * * Mon command1 && command2
*/2 * * * * /usr/bin/php /path/to/script.php >> /var/log/script.log
00 08-16 * * * /path/to/script.sh
0 7 1-7 * 1 /path/to/script.sh
15 9 1, 15 * * /path/to/script.sh
HOME
,
PATH
,
SHELL
e
MAILTO
e execute um comando a cada minuto.
HOME=/opt PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin SHELL=/usr/bin/zsh [email protected] */1 * * * * command
Conclusão
Adicionar efeitos de cor à barra de tarefas do Windows 7 com efeitos de cor da barra de tarefas
Taskbar Color Effects é um software de personalização de Windows gratuito que adicionará vários efeitos de cor para a barra de tarefas do Windows 7.
Gerenciador de Tarefas Deluxe: Software Gerenciador de Tarefas Alternativas para Windows
O Gerenciador de Tarefas Deluxe é um software alternativo do Gerenciador de Tarefas para Windows 10 / 8/7 com algumas informações adicionais para as tarefas comparadas com as nativas.
GTasks HD: aplicativo do Windows 8 para gerenciar suas tarefas e lista de tarefas
GTasks HD é basicamente uma anotação e tarefas Aplicativo de lista e gerenciador de tarefas para o Windows 8. Com sua interface intuitiva e recursos de categorização, o aplicativo torna mais fácil para você saber sobre o seu para fazer tarefas em apenas um piscar de olhos.







