Descrição:
O Cron, e o gerenciador de tarefas do sistema operacional Linux. Ele e responsável pelo agendamento de tarefas e sua execução.
Imagine que você precisa fazer um backup do banco de dados, mais você não que fazer no horário de expediente da empresa e neste momento que o Crontab entra em cena para nos auxiliar. Você irá fazer um script de backup e depois criar um agendamento de tarefa.
Que pode ser configurando para executar em momentos de tempo específicos em: minuto, hora,
dia do mês, mês, dia da semana.
Atributos do comando crontab:
Local dos Arquivo do Crontab:
Atributo | Descrição |
crontab -l | Visualiza os agendamento de todos os usuário. |
crontab -lu username | Visualiza os agendamentos de um usuário especifico. Obs: Só o usuário [root] tem permissão para usar o atributo "u"junto com o atributo "l". |
crontab -r | Deleta todos os agendamentos do usuário corrente. |
crontab -ru | Deleta todos os agendamentos de um usuário especifico. Obs: Só o usuário [root] tem permissão para usar o atributo "u" junto com o atributo "r". |
crontab -e | Edita o arquivo de agendamento do crontab. O editor de texto e o "vi" onde para inser o texto e necessário pressionar a tecla [i] que habilita entrada de texto. Para salvar pressione a tecla [Esc] para sair do modo edição e depois a tecla [:], para entra no prompt de opção do editor, depois ente com a opção [wq!] que efetivarar as alterações. |
crontab -eu username | Edita o arquivo de agendamento do crontab de um usuário especifico. O editor de texto e o "vi" onde para inser o texto e necessário pressionar a tecla [i] que habilita entrada de texto. Para salvar pressione a tecla [Esc] para sair do modo edição e depois a tecla [:], para entra no prompt de opção do editor, depois ente com a opção [wq!] que efetivarar as alterações. |
crontab -i | Confirma antes de deletar os agendamentos do usuário. |
Local dos Arquivo do Crontab:
Nome Arquivo | Descrição |
\var\spool\cron | Nesse diretório esta os arquivos (crontab) com a configuração de agendamento do usuário. Quando o comando "crontab -e" e executado, ele abre o arquivo do usuário atual que esta localizado no diretório "cron" para edição do usuário que pode inserir um novo agendamento ou apagar um agendamento antigo. Os arquivos (crontab) localizado no diretório "cron" estão nomeados com o nome dos usuários do Sistema Operacional. Observação: O CRON lê os arquivos crontab armazenados nesse diretório referido a cada minuto para verificar as tarefas agendadas nestes arquivos. O diretório "cron" e os arquivos contidos nele só pode ser acessado através do usuário "ROOT". Não edite os arquivos (crontab) sem usar o comando "crontab -e" para que eles não fiquem corrompidos. |
Como configurar:
A tabela abaixo mostra os valores a ser inseridos para a configurar da tarefa. A ordem das colunas da tabela estão respeitando a ordem da sequencia a ser informada na tabela de agendamento partindo da esquerda para a direita.
Minuto | Hora | Dia | Mês | Dia Semana | Comando |
(0-59) | (0-23) | (1-31) | (1-12) | (0-6) | Comando a ser executado. |
O "Dia Semana" e referenciado da seguinte forma :
0 = Domingo 1 = Segunda-Feira;
2 = Terça-Feira 3 = Quarta-Feira;
4 = Quinta-Feira 5 = Sexta-Feira
6 = Sábado
Observação, nos campos numéricos, é possível a utilização dos seguintes wildcards:
Caracter Especial | Descrição |
* | Usado para especificar que o campo deve ser ignorado. Obs.: Ele perde essa função quando usamos ele com a barra invertida para especificar um período. Ex: No campo minuto informamos o seguinte valor "*/5", isso que dizer que há cada 5 min a tarefa irá ser executada. |
- | Usado para especificar range de valores. |
, | Usado para especificar valores. |
/ | Usado para especificar intervalo |
Sintaxe:
[minutos] [horas] [dias do mês] [mês] [dias da semana] [comando]
Exemplo Simples:
Explicação do comando abaixo: Alinha de agendamento a cima significa para o Cron que você quer executar uma tarefa às 15:30 no dia 27 do mês de Junho na Quinta-Feira, para executar o comando "ls" que vai listar todo o conteúdo do diretório /home/thiago e depois irá criar um arquivo com o conteúdo da listagem com o nome "listaArq.txt". | ||||||||||||
|
Exemplo Avançado:
Explicação do comando abaixo: Isto executaria o “comando” as 8:00 do dia 10/Junho em qualquer dia da semana (observe que ignoramos o dia da semana). | ||||||||||||
|
Explicação do comando abaixo: Isto executaria o “comando” as 8:00 do domingo (não importa qual seja o dia do mês e nem qual seja o mês, o valor 0 no quinto campo indica o domingo). | ||||||||||||
|
Explicação do comando abaixo: Isto executaria o “comando” as 8:00 do dia 10 (não importa o mês e nem o dia da semana). | ||||||||||||
|
Explicação do comando abaixo: Isto executaria o “comando” as 8:00 do dia 10 (não importa o mês e nem o dia da semana). | ||||||||||||
|
Explicação do comando abaixo: Isto executaria o “comando” as 8:00 (todos os dias de todos os meses em qualquer dia da semana). | ||||||||||||
|
Explicação do comando abaixo: Isto executaria o “comando” a cada 5 minutos (todos hora de cada dia do mês de todos os meses em qualquer dia da semana). | ||||||||||||
|
Explicação do comando abaixo: Isto executaria o “comando” todos os minutos, ou seja, a cada minuto de cada hora em todos os dias do mês e da semana todos os meses. | ||||||||||||
|
Exemplo Avançado com Caracteres Especial:
Explicação do comando abaixo: '-' para especificar range de valores Se aplicado no campo de minuto, significaria do minuto 1 ao 7. | ||||||||||||
|
Explicação do comando abaixo: ',' para especificar valores Se usado no campo de hora, significara nas horas 1, 2 e 4. | ||||||||||||
|
Explicação do comando abaixo: '*/n' para especificar intervalo Se usado no campo de minuto, significaria que a cada 5 minutos. | ||||||||||||
|
Bom pessoal e isso ai, espero ter ajudado! Até aproxima.
Autor: Thiago Pereira
Referências:
http://blog.welrbraga.eti.br/?p=1379
Nenhum comentário:
Postar um comentário