anúncios

Mostrando postagens com marcador agendador de tarefas. Mostrar todas as postagens
Mostrando postagens com marcador agendador de tarefas. Mostrar todas as postagens

sábado, 7 de março de 2020

Exportando e Importando rotinas do crontab

Primeiro se ainda não sabe como agendar tarefas no Linux por meio do crontab, então verifique em: Agendando Tarefas no Linux .

Caso, esteja procurando saber como fazer a exportação e importação do cron, está no lugar certo, o qual é o objetivo desse post.

Exportar cron:
# crontab -l > /tmp/crontab.backup

Importar cron:
# crontab /tmp/crontab.backup

Feito!

terça-feira, 5 de agosto de 2014

Agendando tarefas no Linux

Supondo que você administra serviços de manutenção do sistema e executa manualmente scripts todos os dias e horários, e você pretende automatizar esse processo para executar determinado serviço e/ou script no dia e horário agendado, então, felizmente no Linux é possível por meio do crontab, que permite a realização de tarefas programadas em dias e horários determinados.

O crontab é muito utilizado por sysadmins e até programadores que usam Linux.
O objetivo deste post é explicar como fazer agendamento de tarefas por meio do cron/crontab.

O que é cron?

O cron é um serviço do Linux que é carregado no boot do sistema. Basicamente uma ferramenta que permite agendar tarefas de maneira automatizada.

Como usar o cron?
No terminal, digite: crontab -e.
Por default o crontab é aberto no editor vi, mas pode abrir no editor de sua preferência, da seguinte forma: env EDITOR= crontab -e, onde coloca o nome do editor que deseja abrir o crontab.
Para sair do editor crontab é o mesmo do editor que utilizou para abrir-lo.
O crontab tem o seguinte formato:
[minutos] [horas] [dias do mês] [mês] [dias da semana] [usuário] [comando]
O preenchimento de cada campo é feito da seguinte maneira:
- Minutos: informe números de 0 a 59;
- Horas: informe números de 0 a 23;
- Dias do mês: informe números de 0 a 31;
- Mês: informe números de 1 a 12;
- Dias da semana: informe números de 0 a 7;
- Usuário: é o usuário que vai executar o comando (não é necessário especificá-lo se o arquivo do próprio usuário for usado);
- Comando: a tarefa que deve ser executada.

Comandos do crontab
Para acessar o crontab, basta digitar esse nome em um terminal seguido de um parâmetro. Eis a lista de parâmetros disponíveis:
crontab -e: para editar o arquivo atual do crontab e criar um, caso não exista;
crontab -l: para mostrar o conteúdo atual do crontab;
crontab -r: para remover o arquivo atual do crontab.

Vamos para prática e ver funcionando.
O famoso Hello World de todo programador que inicia uma linguagem de programação.
$crontab -e 1,10,20 * * * * echo "Hello World executou no crontab!"
O comando acima será executado nos minutos 1, 10 e 20 o conteúdo do echo.
P.S O resultado do comando acima será exibido em /var/mail/usuario.
cat /var/mail/usuario. Troque usuario pelo seu usuário do sistema.
Esse é clássico, quero limpar todo conteúdo do diretório /tmp todo mês do dia 30 às 5:30.
30 5 30 * * rm -rf /tmp/*
Também pode ser aplicado para limpar o diretório público da rede, onde os usuários armazenam arquivos temporários. Nesse caso seria limpar todos os dias de madrugada.
$crontab -e
30 5 * * * rm -rf \mnt\serveraquivos\temp*
P.S o mapeamento de rede nomeado servidor arquivos deve estar no /etc/fstab e devidamente montado.
Liberar o proxy geral 12:00 todos os dias
$crontab -e
0 12 * * * /etc/init.d/rc.squid.sh stop

Ativar o proxy às 14:00 todos os dias
$crontab -e
0 14 * * * /etc/init.d/rc.squid.sh start

Considerações finais

Espero que nesse post foi possível fazer entender como utilizar o crontab para agendar tarefas de serviços serem executadas de forma automatizadas no Linux.
O crontab não se limita apenas nos exemplos mostrados aqui, existem muitas outras tarefas que podem ser utilizadas no agendamento, deixo a cargo do leitor essa tarefa, tendo dúvidas, pode perguntar nos comentários.
Feito!

quarta-feira, 30 de julho de 2014

Agendando tarefas no Windows

Bom como é raro publicar dicas de Windows no blog, então hoje publico uma dica que precisei fazer um agendamento de um determinado programa que implementei e queria que seja executado automaticamente toda manhã no servidor Windows Server. Logo, me perguntei, será que no Windows tem um agendador de tarefas semelhante ao crontab do Linux ? Então, pesquisei e encontrei os procedimentos abaixo direto do site da Microsoft.
Segue...
Para abrir o Agendador de Tarefas segue:
Iniciar>Painel de Controle>Sistema e Segurança>Ferramentas Administrativas e clique duas vezes em Agendador de Tarefas.?
É necessário ter permissão do administrador. Se você for solicitado a informar uma senha de administrador ou sua confirmação, digite a senha ou forneça a confirmação.
Clique no menu Ação e em Criar Tarefa Básica.
Digite o nome e uma descrição opcional da tarefa e clique em Avançar.
Siga um destes procedimentos:
Para selecionar uma agenda baseada no calendário, clique em Diariamente, Semanalmente, Mensalmente ou Uma vez e clique em Avançar. Em seguida, especifique a agenda que deseja usar e clique em Avançar.
Para selecionar uma agenda baseada em eventos recorrentes comuns, clique em Ao iniciar o computador ou Ao fazer logon e clique em Avançar.
Para selecionar uma agenda baseada em eventos específicos, clique em Quando um evento específico for registrado, clique em Avançar, especifique o log de eventos e outras informações usando as listas suspensas e clique em Avançar.
Para agendar um programa para iniciar automaticamente, clique em Iniciar um programa e clique em Avançar.
Clique em Procurar para localizar o programa que deseja iniciar e clique em Avançar.
Clique em Concluir.

Observação:
O Agendador de Tarefas é um snap-in do Console de Gerenciamento Microsoft (MMC) e inclui ajuda adicional para usuários avançados. Para obter mais informações, abra o Agendador de Tarefas, clique no menu Ajuda e em Tópicos da Ajuda.
Fonte: Microsoft