Categories
por

Como agendar tarefas no linux uma introdução aos ficheiros de crontab

Aprender o processo passo a passo e a técnica de agendamento de tarefas no Linux utilizando o cron, crontab e nos utilitários. Aprenderá também a ver e a terminar as tarefas agendadas.

COMPREENDER O ASSUNTO

Tal como existe o agendador de tarefas no sistema operativo Windows, existe também o “crond”, e o daemon “atd” no Linux que executa tarefas agendadas em segundo plano.

O agendamento de tarefas é muito importante para os utilizadores do sistema, mais importante para os administradores do sistema, especialmente para poder executar automaticamente algumas actividades repetidas e regulares, tais como backups, manutenção, etc.

No Linux, os dois serviços básicos que são responsáveis pelas tarefas de agendamento são o “crond”, e os serviços “atd”.

O que é cron

cron é o programa que é usado para agendar um trabalho no Linux, tal como mencionámos acima, o daemon responsável pelo cron é o “crond”, e é iniciado por defeito assim que o sistema é ligado

Para que um administrador possa configurar e executar uma tarefa agendada, o cron daemon (crond) deve estar activo e a funcionar.

Para verificar o estado do daemon de crond, usar o comando,

cron é muito flexível, e o melhor para tarefas que precisam de ser feitas repetidamente ou numa base regular (trabalhos recorrentes).

O ficheiro de configuração do cron pode ser encontrado em muitos caminhos, um dos quais é o “/etc/crontab”.

Outros ficheiros de configuração do cron encontram-se em “/etc/cron. d”, “/etc/cron. daily”, “/etc/cron. deny” , “/etc/cron. hourly”, “/etc/cron. monthly”, “/etc/crontab”, “/etc/weekly”.

Tal como os nomes destes directórios implicam, eles executam os scripts/jobs shell diariamente, semanalmente, por hora, e mensalmente por pacotes de rpm, e estes pacotes apenas sabem como utilizar estes ficheiros para executar os seus trabalhos.

Para agendar uma tarefa usando cron como utilizador ou administrador, recomenda-se que defina os seus ficheiros crontab no directório “/etc/cron. d” ou que use o comando “cronta b-e” para lançar o editor crontab.

A razão é porque o ficheiro “/etc/crontab” é sempre modificado automaticamente pelo sistema ou pacotes quando uma actualização é feita e os trabalhos do cron que define aqui podem ser substituídos. Assim, não é recomendado que um utilizador ou administrador modifique este ficheiro para agendar uma tarefa.

Usando o directório “/etc/cron. d” e o comando, “cronta b-e” para agendar uma tarefa não é difícil. Os ficheiros no directório “/etc/cron. d” seguirão o mesmo formato que o ficheiro no directório /etc/crontab.

Da mesma forma, os ficheiros que serão criados usando cronta b-e seguirão o mesmo formato em /etc/crontab excepto que não será adicionado o nome de utilizador no ficheiro, o qual veremos como fazê-lo usando exemplos à medida que avançamos.

Um exemplo de um ficheiro no directório “/etc/cron. d” é o ficheiro 0hourly como se vê abaixo

Um administrador também pode agendar um trabalho criando ficheiros noutros locais de ficheiros de configuração cron como /etc/cron. daily, /etc/cron. monthly, /etc/cron. weekly, etc. No entanto, isto não segue o mesmo f

Assim, se um trabalho não foi executado devido à indisponibilidade do sistema sob qualquer forma, o trabalho será executado quando o sistema estiver disponível porque o sistema analisa o ficheiro anacron e utiliza a configuração no ficheiro para fazer os trabalhos serem executados.

O que é o Crontab no Linux

crontab é o acrónimo de “cron table” (tabela cronológica). São os scripts ou comandos que irão executar o cron job com a utilização do cron daemon. O comando crontab com a opção “-e” irá lançar o editor crontab onde poderá definir os seus scripts para um cron job

Para usar o comando “cronta b-e” para executar um cron job, é aconselhável mudar o utilizador para o utilizador que deseja executar o job ou login como utilizador para dar espaço para as permissões certas.

Por exemplo, se quiser executar um cron job com o utilizador, Victor, trocar de utilizador ou iniciar sessão como Victor antes de usar o comando “cronta b-e” para lançar o editor crontab. Se não houver uma crontab existente para o utilizador, será criada uma nova crontab, claro.

Como agendar uma tarefa no Linux usando o cron

A partir do ficheiro “/etc/crontab”, verá os exemplos de definição de cron job

Pode ver os exemplos da definição do trabalho, estes exemplos podem ser comparados com os seguintes

O que é que isto significa?

Da esquerda para a direita,

O primeiro * representa minutos (de 0-59 minutos)

O segundo * representa as horas (formulário 0-23 horas)

O terceiro * representa os dias do mês (de 1-31 dias)

O quarto * representa meses (formulário 1-12 meses) ou também pode ser jan, fev, mar, etc (ou seja, as três primeiras letras do mês)

O quinto * representa os dias da semana (de 0-6 dias). O domingo é 0 ou 7. Também pode ser sol, mon, ter, etc. (ou seja, as três primeiras letras da semana)

O * wildcard significa “todos”, portanto, por exemplo, o guião acima significa simplesmente

(executar “a cada minuto, a cada hora, a cada dia do mês, a cada mês, a cada dia da semana”. O resumo do guião é “executar a cada minuto”)

Vamos registar algumas informações no registo do sistema, ficheiro “/var/log/messages” no nosso sistema, utilizando o trabalho cron acima

1. Lançar o editor crontab, executando o comando

2. verificar o ficheiro /var/log/messages para ver se o trabalho corre

Pode agora ver que o trabalho decorre a cada minuto

Tomemos outro exemplo.

Se tivermos de marcar um trabalho para executar todas as quintas-feiras até às 2 da manhã, o guião será escrito como,

Isto significa simplesmente, executar o trabalho a cada 0 minutos, de 2 horas (2 da manhã), de cada dia do mês, de cada mês às quintas-feiras.

Tomemos outro exemplo,

Se tivermos de marcar um trabalho a executar de segunda a sexta-feira a cada 3 da manhã, o guião será escrito como

Isto significa simplesmente, executar este trabalho cada o minuto de 2 horas (3 da manhã), de cada dia do mês, de cada mês de segunda a sexta

O uso de cron é muito flexível e também pode ser usado por algumas palavras como

Ao utilizar estas certas palavras, as outras colunas devem ser deixadas vazias

Por exemplo, para executar um guião diariamente, utilize os guiões

RHCSA 8 Pergunta prática de exame sobre tarefas de agendamento no Linux

O seu feedback é bem-vindo. Se ama os outros, partilhará com os outros

Actualizado a 30 de Abril de 2022

O que é crontab?

Cron tem o nome da palavra grega “Chronos” que é usada para o tempo. É um processo de sistema que executará automaticamente tarefas de acordo com o horário específico. É um conjunto de comandos que são utilizados para executar tarefas regulares de agendamento. Crontab significa “cron table” (tabela cronológica). Permite utilizar o agendador de tarefas, que é conhecido como cron para executar tarefas.

Crontab é também o nome do programa, que é utilizado para editar esse horário. É conduzido por um ficheiro crontab, um ficheiro de configuração que indica comandos shell a executar periodicamente para o horário específico.

Neste tutorial do sistema operativo, irá aprender:

Porquê utilizar o Cronjobs?

Aqui estão as razões para utilizar o Cronjobs no Linux:

Ajuda o sistema operativo a fazer uma cópia de segurança agendada de ficheiros de registo ou base de dados.

Eliminar ficheiros de registo antigos

  • Arquivar e purificar tabelas de base de dados
  • Enviar qualquer e-mail de notificação, como Newsletters, e-mail de expiração de senha
  • Limpeza regular dos dados em cache
  • A Crontab é uma opção ideal para automatizar trabalhos Unix.
  • É utilizada para automatizar a manutenção do sistema
  • Como utilizar o cron no Linux?
  • O pacote do sistema Linux tem um programador de tarefas útil chamado crontab. Crontab é popular porque pode ser agendado para executar um processo automatizado como raiz. Portanto, ter um processo automatizado a correr como raiz torna as alterações do sistema mais fáceis. Basta alterar a tarefa e depois esperar até que a tarefa seja reiniciada.

Formato Linux Crontab

Crontab de Linux tem seis campos. Os primeiros cinco campos definem a hora e a data de execução, e o 6º campo é utilizado para a execução de comandos.

Astrics (*): Utilização para correspondência

Definir o intervalo: Permite-lhe definir um intervalo com a ajuda de hífen como 1-10 ou 30-40 ou jan-mar, mon-wed.

  • Definir múltiplos intervalos: Permite-lhe definir vários intervalos com comando separado como apr-jun, oct-dec.
  • Como Adicionar/Modificar Crontab
  • O utilizador pode editar os seus trabalhos de crontab com a ajuda de seguir o comando crontab:

O comando acima abrirá a configuração pessoal da crontab do seu sistema informático, que pode ser editada utilizando o seu editor de texto predefinido.

Não há necessidade de reiniciar a sua crontab, uma vez que esta irá captar automaticamente as suas alterações quando utilizar o comando seguinte.

Para remover as suas tarefas de crontab, utilize o seguinte comando.

Para adicionar ou actualizar tarefas na crontab, utilize o comando abaixo indicado.

Comando para editar a crontab de outro utilizador

Como listar Crontab

Comando para ver as entradas crontab do utilizador actual

Comando para ver as entradas de crontab de um utilizador específico:

Exemplos importantes de crontab

Aqui estão alguns exemplos importantes da Crontab

O ficheiro crontab do Linux (/etc/crontab) é definido num formato específico. Cada linha pode estar em branco, um comentário (que começa com #), uma variável, ou um comando. As linhas em branco no ficheiro crontab(/etc/crontab) do Linux e os comentários são ignorados.

O cron é controlado por um conjunto de ficheiros chamado “crontabs”. O ficheiro principal (em todo o sistema) é o /etc/crontab. Os ficheiros crontab para os utilizadores estão localizados em /var/spool/cron/. Em /var/spool/cron, os ficheiros recebem o mesmo nome que o ID de login de um utilizador.

O ficheiro crontab, /etc/crontab, executa automaticamente itens em várias subdirectorias (como especificado no ficheiro crontab, mostrado abaixo) em períodos regulares.

Um ficheiro típico de crontab principal (/etc/crontab) é listado abaixo.

]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/

* * * * root run-parts /etc/cron. hourly 02 4 * * * root run-parts /etc/cron. daily 22 4 * * 0 root run-parts /etc/cron. weekly 42 4 1 * * root run-parts /etc/cron. month

As primeiras quatro linhas são variáveis utilizadas para configurar o ambiente em que as tarefas cron são executadas. O valor da variável SHELL diz ao sistema qual o ambiente shell a utilizar (neste exemplo a shell bash), e a variável PATH define o caminho utilizado para executar comandos. A saída das tarefas cron são enviadas por e-mail para o nome de utilizador definido com a variável MAILTO. Se a variável MAILTO for definida como uma string vazia (MAILTO=”””), o e-mail não será enviado. A variável HOME pode ser utilizada para definir o directório home a utilizar na execução de comandos ou scripts.

Actualizado a 30 de Abril de 2022

O que é crontab?

Cron tem o nome da palavra grega “Chronos” que é usada para o tempo. É um processo de sistema que executará automaticamente tarefas de acordo com o horário específico. É um conjunto de comandos que são utilizados para executar tarefas regulares de agendamento. Crontab significa “cron table” (tabela cronológica). Permite utilizar o agendador de tarefas, que é conhecido como cron para executar tarefas.

Crontab é também o nome do programa, que é utilizado para editar esse horário. É conduzido por um ficheiro crontab, um ficheiro de configuração que indica comandos shell a executar periodicamente para o horário específico.

Neste tutorial do sistema operativo, irá aprender:

Porquê utilizar o Cronjobs?

Aqui estão as razões para utilizar o Cronjobs no Linux:

Ajuda o sistema operativo a fazer uma cópia de segurança agendada de ficheiros de registo ou base de dados.

Eliminar ficheiros de registo antigos

  • Arquivar e purificar tabelas de base de dados
  • Enviar qualquer e-mail de notificação, como Newsletters, e-mail de expiração de senha
  • Limpeza regular dos dados em cache
  • A Crontab é uma opção ideal para automatizar trabalhos Unix.
  • É utilizada para automatizar a manutenção do sistema
  • Como utilizar o cron no Linux?
  • O pacote do sistema Linux tem um programador de tarefas útil chamado crontab. Crontab é popular porque pode ser agendado para executar um processo automatizado como raiz. Portanto, ter um processo automatizado a correr como raiz torna as alterações do sistema mais fáceis. Basta alterar a tarefa e depois esperar até que a tarefa seja reiniciada.

Formato Linux Crontab

Crontab de Linux tem seis campos. Os primeiros cinco campos definem a hora e a data de execução, e o 6º campo é utilizado para a execução de comandos.

Astrics (*): Utilização para correspondência

Definir o intervalo: Permite-lhe definir um intervalo com a ajuda de hífen como 1-10 ou 30-40 ou jan-mar, mon-wed.

  • Definir múltiplos intervalos: Permite-lhe definir vários intervalos com comando separado como apr-jun, oct-dec.
  • Como Adicionar/Modificar Crontab
  • O utilizador pode editar os seus trabalhos de crontab com a ajuda de seguir o comando crontab:

O comando acima abrirá a configuração pessoal da crontab do seu sistema informático, que pode ser editada utilizando o seu editor de texto predefinido.

Não há necessidade de reiniciar a sua crontab, uma vez que esta irá captar automaticamente as suas alterações quando utilizar o comando seguinte.

Para remover as suas tarefas de crontab, utilize o seguinte comando.

Para adicionar ou actualizar tarefas na crontab, utilize o comando abaixo indicado.

Comando para editar a crontab de outro utilizador

Como listar Crontab

Comando para ver as entradas crontab do utilizador actual

Comando para ver as entradas de crontab de um utilizador específico:

Exemplos importantes de crontab

Aqui estão alguns exemplos importantes da Crontab

O ficheiro crontab do Linux (/etc/crontab) é definido num formato específico. Cada linha pode estar em branco, um comentário (que começa com #), uma variável, ou um comando. As linhas em branco no ficheiro crontab(/etc/crontab) do Linux e os comentários são ignorados.

O cron é controlado por um conjunto de ficheiros chamado “crontabs”. O ficheiro principal (em todo o sistema) é o /etc/crontab. Os ficheiros crontab para os utilizadores estão localizados em /var/spool/cron/. Em /var/spool/cron, os ficheiros recebem o mesmo nome que o ID de login de um utilizador.

cron: O daemon que é utilizado para executar comandos agendados.

crontab: O comando utilizado para invocar o editor para gerir os trabalhos de cron de um utilizador.

Um ficheiro crontab de utilizadores é o ficheiro que contém os trabalhos lidos pelo cron. Cada utilizador de um sistema pode ter um ficheiro crontab (que inclui o utilizador raiz) onde os trabalhos e tarefas podem ser controlados. O próprio sistema também tem um ficheiro de crontab localizado em /etc/crontab , mas não deve ser editado pelo utilizador. Este ficheiro é gerado aquando da instalação do sistema operativo. Se o ficheiro /etc/crontab for examinado, é revelado que controla efectivamente trabalhos cron localizados em /etc/cron. daily , /etc/cron. weekly , e /etc/cron. monthly . Mas esse ficheiro não vai ser o foco aqui. Em vez disso, o ficheiro de crontab do utilizador será o foco principal, pois é o ficheiro utilizado para o agendamento de tarefas comuns do utilizador.

  • O único aspecto da crontab que mais utilizadores se esforça é a forma como o tempo é utilizado. Para cada entrada da crontab é declarada uma hora específica para quando a entrada será executada. A entrada de tempo está no formulário:
  • Cada registo de tempo é composto por cinco secções:

Minuto (0-59)

Hora (0-23 Com 0 sendo 12:00 AM)

Dia do mês (1-31)

  • Mês (1-12)
  • Dia da semana (0-6, sendo 0 o domingo)
  • Assim, uma entrada típica pareceria:
  • M inute H a nossa D ay M onth D ayOfWeek
  • Alguns exemplos por tempo:

0 23 * * * Diariamente às 23 horas

30 22 * * * Diariamente às 22:30

0 23 1 * * Todos os primeiros dias do mês às 23 horas

0 23 * * 0 Todos os domingos às 23 horas

Usando o Utilitário Crontab

Agora que o tempo é compreendido, é altura de começar a acrescentar entradas. Para visualizar um ficheiro crontab dos utilizadores, é invocado o comando crontab. Há três opções principais a utilizar com o comando crontab:

e: Editar o ficheiro de crontab.

l: Listar o conteúdo do ficheiro de crontab.

r: Remover o conteúdo do ficheiro de crontab.

  • Quando o comando cronta b-l é invocado, as entradas do ficheiro crontab dos utilizadores serão exibidas (se existir alguma). A fim de adicionar uma entrada ao ficheiro crontab dos utilizadores, o comando cronta b-e é invocado para que o ficheiro crontab seja aberto no editor predefinido (como ed, vim. tiny, ou nano). Quando o comando cronta b-e é executado pela primeira vez, o editor predefinido é definido. Para seleccionar o editor predefinido para crontab, seleccionar o número que corresponde ao editor desejado.
  • A figura 1 mostra uma entrada da crontab criada pela aplicação de backup Luckybackup.
  • Uma crontab aberta, com o Nano como editor predefinido, mostra a entrada Luckybackup.

Para ilustrar como adicionar uma nova entrada na crontab, será utilizado um simples script de cópia de segurança. O conteúdo desse script poderá ser semelhante:

Onde EXT_DRIVE é a localização de uma unidade ligada externamente onde residirão os dados de cópia de segurança.

O script acima será guardado no directório home dos utilizadores como. my_backup. sh e será dada permissão executável com o comando chmod u+x

/.my_backup. sh . Agora, com crontab em modo de edição, crie uma entrada que executará o guião todas as noites às 23 horas, acrescente a seguinte linha:

#! /bin/bash echo Backup Started `date` >>

/backuplog mkdir /media/EXT_DRIVE/backups/`date +%Y%m%d` tar – czf /media/EXT_DRIVE/backups/`date +%Y%m%d`/data. tar. gz /data echo Backup Completed `date` >>

Com essa entrada no lugar, salve e feche o editor (a forma como isto é feito dependerá do editor predefinido que tiver escolhido). Quando isto for feito, desde que não haja erros, a crontab reportará “crontab: instalando nova crontab” para indicar que a entrada foi bem sucedida. Se houver erros, abrir novamente o ficheiro crontab para fazer as alterações necessárias.

Editar a crontab de um utilizador diferente

Digamos que uma crontab de utilizadores diferentes deve ser editada. Não é necessário processar esse utilizador diferente, uma vez que a crontab tem uma opção integrada para esse fim específico. Se a crontab for emitida utilizando o-u como a cronta b-e – u USERNAME , o ficheiro da crontab do utilizador especificado (onde USERNAME é o utilizador em questão) será aberto para edição. Este comando, no entanto, só pode ser emitido por um utilizador com usuário administrativo (ou o comando pode ser emitido usando sudo .) É claro que a edição dos ficheiros de crontab de outros utilizadores deve ser limitada apenas aos administradores.

Pensamentos finais

O sistema cron ajuda a fazer do Linux um dos sistemas operativos mais flexíveis do mundo. O Cron não só ajuda o sistema a manter os seus registos girados e limpos, como também permite aos utilizadores agendar as suas próprias tarefas, scripts e trabalhos. Embora o aspecto temporal do cron possa ser um pouco complicado de entender, uma vez entendido, o resto cai no lugar.

Se toda a ideia de editar entradas cron a partir da linha de comando parecer um pouco exagerada, ficará satisfeito por saber que existem ferramentas GUI para esta tarefa. Dê uma vista de olhos a uma ferramenta como a Programação GNOME (encontrada na sua ferramenta Adicionar/Remover Software) para uma aplicação que pode gerir as suas tarefas cron com a ajuda de uma GUI de fácil utilização. Mas para aqueles que realmente querem compreender Linux, conhecer o cron e o crontab é essencial.

No caso do Linux, ele vem com duas ferramentas básicas mas poderosas: Cron daemon (agendador de tarefas padrão) e em (mais adequado para agendamento de tarefas únicas).

Neste guia, verifique como agendar uma tarefa no Linux.

Agendamento de tarefas no Linux

Cron O cron daemon é responsável pela execução de muitos trabalhos em momentos específicos. Estas tarefas são geralmente executadas em segundo plano em horários programados. Oferece uma grande flexibilidade independentemente da tarefa, independentemente do intervalo (hora, semana, mês, ano, ou o que quer que seja).

Cron mantém um registo das suas acções utilizando o ficheiro crontab. O ficheiro crontab é um guião que contém toda a informação necessária para executar todos os trabalhos cron.

Vamos dar uma rápida vista de olhos a algumas das utilizações básicas do cron. No caso de qualquer um dos seguintes comandos, será configurado para o utilizador root se for executado com o privilégio sudo. Para a demonstração, agarrei um ficheiro de crontab de amostra a partir daqui.

Para listar todos os trabalhos cron agendados para o utilizador actual, executar o seguinte comando. Irá imprimir todo o conteúdo da crontab

dia do mês: 1 a 31

mês: 1 a 12

dia da semana: 0 (Domingo) a 6 (Sábado)

Para um guia aprofundado sobre como utilizar a crontab para automatizar tarefas, verifique como configurar trabalhos cron no Linux. Aqui está outro exemplo rápido de um cron job em execução a cada minuto.

em Enquanto cron é a principal forma de agendamento de tarefas, em oferece a capacidade de executar um comando/script num momento específico ou num intervalo fixo, note que em irá executar o trabalho alvo uma vez enquanto cron executaria novamente o trabalho no intervalo. A ferramenta at é menos popular em comparação com o cron, mas é relativamente mais fácil de usar. Pode usar certas palavras-chave como meia-noite ou hora do chá (4 da tarde).

Esta ferramenta não vem pré-instalada na maioria das distribuições Linux. Para instalar em, execute o comando apropriado de acordo com a sua distro.

Para Debian/Ubuntu e derivados.

  • Para CentOS/RHEL e derivadas.
  • Fazer as coisas acontecerem num horário regular e previsível é importante em computadores. É importante porque, como humanos, podemos por vezes ser maus a lembrarmo-nos de fazer as coisas de forma fiável porque nos distraímos, temos demasiado em que pensar, ou estamos de férias. Os computadores são realmente bons a fazer as coisas segundo um horário, mas um humano tem de programar o computador antes de o computador entrar em acção.
  • De certa forma, o sistema cron é uma introdução fácil e rudimentar à programação. Pode obrigar o seu computador a fazer o que quer que ele faça apenas editando um ficheiro. Nem sequer tem de saber onde o ficheiro é guardado. Basta digitar um simples comando, introduzir a “receita” que deseja que o seu computador siga, e guardar o seu trabalho. A partir daí, o seu computador executa as suas instruções no momento especificado, até que lhe seja dito para parar.
  • Pela sua concepção, o cron não é um sistema complexo. Aqui está o que precisa de saber sobre ele.
  • Mais recursos do Linux

Folha de cheat sheet dos comandos Linux

Comandos avançados de Linux

Curso online gratuito: Visão Geral Técnica da RHEL

Folha de fraude de rede Linux

Folha de fraude SELinux

Folha de cheat sheet dos comandos comuns do Linux

O que são recipientes Linux?

Os nossos últimos artigos sobre Linux

O que é o cron?

  • O comando cron é tão ubíquo em Linux e Unix, e tem sido imitado e reinventado tantas vezes que é quase um termo genérico para algo que acontece num horário . É uma forma de automatização, e embora existam diferentes implementações do mesmo (cron do Dillon, cron da Vixie, chrony, e outros), e variações como anacron e temporizadores do sistema, a sintaxe e o fluxo de trabalho têm permanecido essencialmente os mesmos durante décadas.
  • Cron funciona num sistema “spool”, tal como as impressoras e o correio electrónico. Se não sabia que as impressoras e o correio electrónico utilizam um spool, não faz mal porque o objectivo de um ficheiro spool é que não se deve pensar muito sobre isso. Num sistema Linux, o directório /var/spool é concebido como um núcleo central para ficheiros importantes mas de baixo nível, com os quais o utilizador não deve interagir directamente. Um dos spools geridos em /var/spool é tabelas cron ou “crontab”, para abreviar. Cada utilizador incluído num sistema Linux tem uma “crontab”. Os utilizadores podem editar, visualizar, e remover a sua própria crontab. Além disso, os utilizadores podem usar a sua crontab para agendar tarefas. O próprio sistema cron monitoriza as crontabs e assegura que qualquer tarefa listada numa crontab é executada no seu tempo especificado.
  • Editar definições da crontab
  • Pode editar a sua crontab utilizando o comando crontab juntamente com a opçã o-e (para editar ). Por defeito, a maioria dos sistemas invoca o editor de texto vim. Se, como eu, não usar o Vim, então pode definir um editor diferente para si no seu
  • /.bashrc ficheiro. Eu estabeleço o meu para Emacs, mas também pode tentar Nano, Kate, ou qualquer que seja o seu editor favorito. A variável de ambiente EDITOR define que editor de texto usa no seu terminal, enquanto a variável VISUAL define que editor usa em modo gráfico:
  • Refresque a sua sessão shell com as suas novas definições:
  • Agora pode editar a sua crontab com o seu editor preferido:
  • Agende uma tarefa

O sistema cron é essencialmente um sistema de calendário. Pode dizer ao cron com que frequência quer que um trabalho seja executado, usando cinco atributos diferentes: minuto, hora, data, mês, dia da semana. A ordem destes atributos é estrita e não necessariamente intuitiva, mas pode pensar neles como filtros ou máscaras. Por defeito, pode pensar em tudo ser definido para sempre ou para cada . Esta entrada seria executada em toque /tmp/hello no topo de cada minuto durante cada hora de cada dia ao longo de todo o ano:

Pode restringir este horário abrangente definindo definições específicas para cada atributo. Para que o trabalho seja executado na marca de meia hora de cada hora, defina os minutos para 30 :

Pode restringir ainda mais esta instrução com uma hora específica. Este trabalho decorre às 3:30 da manhã todas as manhãs:

Também pode fazer o trabalho funcionar apenas no primeiro dia de cada mês:

Pode definir um mês usando 1 para Janeiro até 12 para Dezembro, e pode definir um dia usando 0 para Domingo até 6 para Sábado. Este trabalho funciona às 3:15 durante o mês de Abril, apenas às segundas-feiras:

Ajustar incrementos

Todas estas definições correspondem exactamente a um valor . Também se pode usar a notação cron para executar trabalhos após uma determinada passagem de tempo. Por exemplo, é possível executar um trabalho a cada 15 minutos:

Pode executar um trabalho às 10 da manhã a cada três dias:

Pode executar um trabalho a cada seis horas:

Estenografia de Cron

As implementações modernas de cron acrescentaram uma estenografia conveniente para horários comuns. Estes são:

@horário

@daily

@semanais

@mensal

@anual ou @anualmente

Listar empregos de cronistas

Usando o comando crontab, pode ver uma lista dos seus trabalhos cron agendados:

Remover uma crontab

Quando terminar com uma crontab, pode removê-la com a opçã o-r:

  • A opçã o-i significa interactiva . Pede-lhe uma confirmação antes de apagar o ficheiro.
  • O que o cron pode fazer
  • Uma coisa é saber como usar
  • cron
  • mas é outra coisa saber para que o utilizar. O caso clássico de utilização é um bom plano de apoio. Se o seu computador estiver ligado durante a maior parte do dia ou todo o dia e toda a noite, então pode programar uma cópia de segurança de rotina de uma partição importante. Executo uma aplicação de cópia de segurança chamada rdiff-backup na minha partição de dados primária diariamente às 3 da manhã:

Outra utilização comum é a manutenção do sistema. No meu ambiente de trabalho Slackware, actualizo o meu catálogo de repositório local todas as sextas-feiras à tarde:

Posso também executar um script Ansible às 15:00 de três em três dias para arrumar a minha pasta de Downloads:

Um pequeno investimento na saúde do seu ambiente informático vai muito longe. Existem scripts de desduplicação, monitores de directórios de tamanho de ficheiro e /tmp, redimensionadores de fotos, movimentadores de ficheiros, e muitas mais tarefas de menu que poderia programar para executar em segundo plano para ajudar a manter o seu sistema desordenado. Com o cron , o seu computador pode tomar conta de si próprio de formas que eu apenas gostaria que o meu apartamento físico tomasse.

Lembre-se das configurações do cron

Para além de saber porque precisa de cron , a coisa mais difícil sobre cron na minha experiência tem sido lembrar a sua sintaxe. Repita isto para si mesmo, vezes sem conta, até que a tenha memorizado:

Minutos, horas, data, mês, dia da semana.

Minutos, horas, data, mês, dia da semana. Minutos, horas, data, mês, dia da semana.Melhor ainda, vá descarregar a nossa folha de dados gratuita para que tenha a chave à mão quando mais precisar dela!

Neste artigo, vamos rever e ver como podemos agendar e executar tarefas em segundo plano automaticamente, a intervalos regulares, usando o comando Crontab.

Lidar com um trabalho frequente manualmente é uma tarefa assustadora para administradores de sistemas e tais tarefas podem ser agendadas e executadas automaticamente em segundo plano sem intervenção humana usando o daemon cron no Linux ou sistema operativo tipo Unix.

Por exemplo, é possível automatizar o backup do sistema Linux, agendar actualizações e sincronização de ficheiros, e muitas mais usando o daemon Cron, que é usado para executar tarefas agendadas a partir da linha de comandos ou usar ferramentas online para gerar tarefas cron.

Cron acorda a cada minuto e verifica as tarefas agendadas no cron – Crontab ( CRON TABle ) é uma tabela onde podemos agendar este tipo de tarefas repetidas.

Dicas: Cada utilizador pode ter a sua própria crontab para criar, modificar e apagar tarefas. Por defeito o cron está activado para os utilizadores, no entanto, podemos restringir os utilizadores adicionando uma entrada no ficheiro /etc/cron. deny.

O ficheiro Crontab consiste em comando por linha e tem seis campos na realidade e separados ou por espaço ou tabulação. Os cinco campos iniciais representam tempo para executar tarefas e o último campo é para comando.

O ficheiro Crontab consiste em comando por linha e tem seis campos na realidade e separados ou por espaço ou tabulação. Os cinco campos iniciais representam tempo para executar tarefas e o último campo é para comando.

O ficheiro Crontab consiste em comando por linha e tem seis campos na realidade e separados ou por espaço ou tabulação. Os cinco campos iniciais representam tempo para executar tarefas e o último campo é para comando.

Dia do Mês (valores de retenção entre 1-31 )

O mês do ano (manter valores entre 1-12 ou Jan-Dez , pode usar as três primeiras letras do nome de cada mês i. e. Jan ou Jun .)

O dia da semana (valores de retenção entre 0-6 ou Sun-Sat , aqui também pode usar as três primeiras letras do nome de cada dia, ou seja, Sun ou Wed .)

Comando – O /caminho/para/comando ou guião que deseja agendar.

1. Lista de Entradas Crontab

Listar ou gerir a tarefa com o comando crontab com a opçã o-l para o utilizador actual.

2. Editar as entradas Crontab

  • Para editar a entrada crontab, usa r-e a opção como se mostra abaixo. No exemplo abaixo, serão abertos trabalhos de agenda no editor VI. Faça as alterações necessárias e pare de premir :wq teclas que guardam a definição automaticamente.
  • 3. Listar trabalhos de cron agendados
  • Para listar trabalhos programados de um determinado utilizador chamado tecmint usando a opçã o-u ( Utilizador ) e-l ( Lista ).
  • Nota: Apenas o utilizador root tem privilégios completos para ver as entradas de crontab de outros utilizadores. Utilizadores normais não podem ver os outros.
  • 4. Remover a entrada Crontab
  • Cuidado: Crontab co m-r o parâmetro removerá os trabalhos programados completos sem confirmação da crontab. Utilizar a opçã o-i antes de eliminar a crontab do utilizador.

5. Pronto antes de apagar a crontab

crontab co m-i a opção irá solicitar a confirmação do utilizador antes de apagar a crontab do utilizador.

6. Caracteres Especiais Permitidos (*, -, /, ?, #)

Asterisco(*) – Combine todos os valores no campo ou qualquer valor possível.

Hífen(-) – Para definir o intervalo.

Slash (/) – 1º campo /10 que significa a cada dez minutos ou incremento de intervalo.

A vírgula (,) – Para separar itens.

7. Horário Cron de todo o sistema

O administrador do sistema pode usar o directório cron pré-definido como se mostra abaixo.

/etc/cron. d

/etc/cron.

Uma vez por ano. podemos usar também a palavra-chave @anual.

  • Necessidade de substituir cinco campos do comando cron por palavras-chave se quiser usar a mesma.
  • 10. Comandos múltiplos com duplo ampersand(&&)
  • No exemplo abaixo, o comando1 e o comando2 funcionam diariamente.
  • 11. Desactivar a Notificação por Email.

A opção &1 no fim do ficheiro redireccionará toda a saída dos resultados do cron sob /dev/null .

conclusão: A automatização das tarefas pode ajudar-nos a executar as nossas tarefas de forma melhor, sem erros, e eficiente. Pode consultar uma página de manual de crontab para mais informações, digitando o comando ‘ man crontab ‘ no seu terminal.

  • Se aprecia o que fazemos aqui na TecMint, deve considerar:
  • TecMint é o site comunitário de maior crescimento e maior confiança para qualquer tipo de Artigos, Guias e Livros Linux na web. Milhões de pessoas visitam TecMint! para pesquisar ou navegar nos milhares de artigos publicados disponíveis GRATUITAMENTE para todos.
  • Se gostar do que está a ler, por favor considere comprar-nos um café ( ou 2 ) como um sinal de apreço.
  • Estamos gratos pelo vosso apoio sem fim.
  • Um Guia Passo-a-Passo para a Criação de um Trabalho Cron

Já se viu a fazer tarefas repetitivas com regularidade? Por exemplo, apagar ficheiros temporários todas as semanas para conservar o seu espaço em disco, raspar dados de um sítio todas as semanas para recolher novas informações ou enviar e-mails recorrentes ao mesmo conjunto de pessoas para campanhas de “lembrete”, e assim por diante. Se assim for, poderá querer criar um agendador de tarefas cronológicas, que executará automaticamente as tarefas para si em qualquer altura agendada.

Cron vem de “cron”, o prefixo grego para “hora”. É um daemon para executar comandos agendados em sistemas do tipo Linux ou Unix, o que lhe permite agendar quaisquer tarefas em intervalos especificados.

Cons VS. Crontab VS. Cronjob

Cron: Cron é um daemon que corre no momento da inicialização do sistema. Cron: Cron: Crontab (tabela cron) é um ficheiro que contém o horário das entradas cron a correr e em horários especificados. A localização do ficheiro varia de acordo com os sistemas operativos.
Cron job ou cron cron schedule: Cron job ou cron schedule é um conjunto específico de instruções de execução especificando dia, hora, e comando a executar. crontab pode ter múltiplas instruções de execução. Antes de saltarmos para a configuração de um cron job, precisamos de saber como especificar com que frequência e quando o cron job será executado.
O que o cron pode fazer Por exemplo, o código dado executará um trabalho no dia 10 de Junho às 08:30 da manhã. Note-se que * significa todas as unidades possíveis. Para mais informações, pode consultar mais exemplos de Geeksforgeeks.
Uma coisa é saber como usar Comandos de entrada de texto
um texto anexo seguindo a posição actual do cursor Um texto em anexo ao final da linha actual

i Inserir texto

Para iniciar um novo ficheiro crontab, terá de digitar cronta b-e no seu terminal ( Nota : não é necessário digitar este comando no mesmo directório que o ficheiro que pretende executar). Depois disso, abrirá um editor VIM vazio. Poderemos então escrever a sintaxe temporal e a localização do ficheiro que deseja executar.

Adicione esta linha dentro do editor vim: * * * * * /PATH TO FILE/script. py

Se isto funcionar para si, está feito! Acabou de criar um cron job.

By default, cron sends mail to the user account executing cronjob. If you want to disable it add your cron job similar to the below example. Using >/dev/null 2>Se não, não se preocupe, continue a ler. ❤

Solução 1: Adicionar um Local de Execução Python

Se receber esta mensagem de erro como esta ” /bin/sh: /Users/XXX/Documents/Python/shellScript. sh: Permissão negada “, pode tentar adicionar um caminho python executável.

Esta linha de comando devolve o caminho executável python. Ao adicionar o executável python, o cron pode agora executar o guião python.

* * * * * * /PATH TO Python Executable/ /PATH TO FILE/script. py

Solução 2: Alteração da Segurança e Privacidade no Mac

Se receber esta mensagem de erro como esta ” [Errno 1] Operação não permitida “, basta arrastar /usr/sbin/cron para a pasta Full Disk Access in System Preference para o ajudar a resolver o problema.

/tmp/test. txt após o nome do ficheiro, irá guardar a saída do cronjob no ficheiro test. txt.

/tmp/test. txt

Aí tem! É muito fácil e directo criar um trabalho de cron, e isso facilitará muito as nossas vidas. Se tiver alguma sugestão, por favor, sinta-se à vontade para a partilhar na secção de comentários.

Se achar isto útil, por favor, siga-me e consulte os meus outros blogues. ❤️

O Cron é uma ferramenta muito útil que lhe permite agendar tarefas em várias distribuições de Linux. As tarefas são mais conhecidas como cron jobs e podem ser utilizadas para automatizar uma grande variedade de processos do sistema. Entre outras coisas, os trabalhos cron podem ser usados para agendar verificações periódicas do sistema, verificar actualizações, enviar emails, criar backups, e muito mais.

Agendar tarefas desta forma pode parecer um pouco assustador no início, mas não se preocupe porque não é tão difícil como pode parecer. Neste artigo, vamos tentar descrever o processo passo a passo de uma forma intuitiva, para que possa aprender a utilizar a crontab mesmo que seja um utilizador Linux novinho em folha.

Tudo o que precisa de saber sobre os ficheiros da Crontab

A tabela cron, mais conhecida como crontab, é basicamente um ficheiro de texto que contém informação relacionada com o agendamento de trabalhos cron. Este utilitário pode ser utilizado tanto para criar como para editar tarefas existentes. Existem dois tipos principais de ficheiros de crontab que é necessário conhecer – específicos do utilizador e a nível do sistema.

Tal como o seu nome sugere, os ficheiros de crontab específicos do utilizador são criados separadamente para cada utilizador individual. Estes ficheiros podem ser armazenados num de dois locais, dependendo da distribuição Linux que estiver a executar. Nos sistemas baseados em Debian, encontrará os ficheiros no directório /var/spool/cron . Entretanto, nos sistemas baseados em RedHat crontabs encontram-se dentro de um directório ligeiramente diferente conhecido como /var/spool/cron/crontabs .

No que diz respeito aos ficheiros de crontab de todo o sistema, estes estão localizados no directório /etc/cron. d . Enquanto os ficheiros de crontab específicos do utilizador podem ser editados pelo utilizador que trabalha actualmente, os ficheiros de todo o sistema só podem ser editados pelos administradores do sistema.

Crontab Sintaxe e Operadores

A sintaxe da crontab é composta por seis campos diferentes separados por um único espaço. Os primeiros cinco campos contêm valores que definem a hora e a data do cron job que se pretende agendar. Entretanto, o sexto campo contém simplesmente os comandos ou scripts que precisam de ser executados. Para lhe dar um pouco de indicação visual, a sintaxe terá um aspecto semelhante a este:

O operador asterisco (*) significa “sempre” ou “todos” no contexto desta sintaxe. Por exemplo, se colocar um asterisco no campo Dia da Semana, o cron job programado será executado nesse dia específico de cada semana.

O hífen (-) operador pode ser utilizado para especificar um determinado intervalo de valores. Por exemplo, se tiver o intervalo 1-10 no campo Dia do Mês, o cron job só será executado durante os primeiros 10 dias de cada mês.

O operador de vírgula (,) vem a calhar quando se pretende agendar uma lista de tarefas que devem ser repetidas em determinados intervalos. Por exemplo, se escrever 2,4,6 no campo Dia da Semana, o cron job só funcionará às terças, quintas, e sábados. O operador de vírgula pode ser usado em conjunto com o operador de hipen para definir múltiplos intervalos, tais como 10-15, 25-30. Se tiver essas gamas no campo Dia do Mês, a tarefa só funcionará entre o 10º e 15º dia e depois entre o 25º e 30º dia de cada mês.

O operador da barra (/) é semelhante à vírgula no sentido em que também pode ser utilizado para agendar trabalhos de cron que devem ser executados em determinados intervalos. Contudo, funciona de forma um pouco diferente. Por exemplo, se escrever */ 3 no campo Dia do Mês, a tarefa será executada de três em três dias, começando com o primeiro dia do mês. É essencialmente o equivalente a digitar 0,3,6,9,12, etc. O asterisco antes da barra pode ser substituído por um intervalo de valores, tais como 2-20. Por exemplo, se tiver 2-20/3 no campo Dia do Mês, a tarefa funcionará a cada três dias a partir do segundo dia do mês e deixará de funcionar após o 20º dia.

Ficheiros Crontab de todo o sistema

A sintaxe que discutimos até agora só funciona com ficheiros de crontab específicos do utilizador. Se estiver a trabalhar com ficheiros de todo o sistema, terá de usar uma sintaxe ligeiramente diferente que inclua e campo adicional. Este sétimo campo é utilizado para especificar em que utilizador ou utilizadores a tarefa deve ser executada e deve ser adicionado antes do campo de comando. Por outras palavras, a sintaxe para ficheiros de crontab em todo o sistema deve gostar de algo parecido com isto:

Como Utilizar Macros Pré-definidas

Saber como utilizar os operadores Cron pode ser útil, mas pode tornar as coisas ainda mais fáceis para si, trabalhando também com macros. As macros são atalhos que podem ser utilizados em vez dos cinco campos acima mencionados para agendar rapidamente trabalhos cron que não requerem valores muito específicos. Aqui estão as macros de crontab mais frequentemente utilizadas que precisa de conhecer:

@reboot – Pode ser usada para agendar trabalhos de cron para executar cada vez que arranca o seu sistema.

@hourly – Pode ser usado para agendar trabalhos de cron para executar uma vez por hora. O resultado final será o mesmo que digitar 0 * * * * * nos cinco campos de sintaxe.

@daily – Pode ser usado para agendar trabalhos de cron para executar uma vez por dia, a partir da meia-noite. O resultado final será o mesmo que digitar 0 0 * * * nos cinco campos de sintaxe.

@weekly – Pode ser usado para agendar trabalhos de cron para executar uma vez por semana a partir de domingo à meia-noite. O resultado final será o mesmo que digitar 0 0 * * 0 nos cinco campos de sintaxe.

@mensal – Pode ser usado para agendar trabalhos de cron uma vez por mês a partir do primeiro dia do mês à meia-noite. O resultado final será o mesmo que digitar 0 0 1 * * nos cinco campos de sintaxe.

@anual – Pode ser usado para agendar trabalhos de cron para executar uma vez por ano, com início à meia-noite do dia 1 de Janeiro. O resultado final será o mesmo que digitar 0 0 1 1 * nos cinco campos de sintaxe.

Como Utilizar o Comando Crontab

Os ficheiros Crontab podem ser editados manualmente, mas geralmente é uma melhor ideia utilizar o comando Crontab, particularmente se não se for um utilizador muito experiente e ainda assim tentar perceber as coisas. A utilização do comando crontab permite-lhe não só editar ficheiros mas também adicionar e remover tarefas cron ou simplesmente visualizar as suas tarefas actualmente programadas de uma forma simplificada. Tem uma série de opções para trabalhar no comando crontab. Aqui estão as principais que terá de ter em mente:

crontab – e: Esta opção permite-lhe criar um novo ficheiro crontab ou editar um que já exista.

crontab – l: Esta opção permite-lhe exibir o conteúdo do ficheiro crontab actual com o qual está a trabalhar.

crontab – r: Esta opção permite-lhe remover o ficheiro de crontab actual.

crontab – i: Esta opção é idêntica à anterior mas também lhe mostra um prompt antes de remover o ficheiro crontab actual.

crontab – u: Esta opção pode ser utilizada para editar o ficheiro crontab do utilizador especificado. Precisará de ter privilégios de administrador do sistema para poder utilizar esta opção.

Algumas coisas a notar sobre as variáveis da crontab

You might want to check whether the cron job is running fine. To do so, you can create a log file that collects the cron execution log. By adding this >>O utilitário crontab atribui automaticamente certas variáveis para o seu ambiente de trabalho que poderá querer conhecer. Estas variáveis podem ser modificadas, mas se ainda é novo no uso de cron jobs, deverá provavelmente manter os valores por defeito. Pelo menos até que se tenha habituado mais ao utilitário. As variáveis que deve ter em mente são:

* * * * * /PATH TO FILE/script. py >>Fazer as coisas acontecerem num horário regular e previsível é importante nos computadores. É importante porque, como seres humanos, podemos por vezes ser maus a lembrar-nos de fazer as coisas de forma fiável porque nos distraímos, temos demasiado em que pensar, ou estamos de férias. Os computadores são realmente bons a fazer as coisas segundo um horário, mas um humano tem de programar o computador antes de o computador entrar em acção.

De certa forma, o sistema cron é uma introdução fácil e rudimentar à programação. Pode obrigar o seu computador a fazer o que quer que ele faça apenas editando um ficheiro. Nem sequer tem de saber onde o ficheiro é guardado. Basta digitar um simples comando, introduzir a “receita” que deseja que o seu computador siga, e guardar o seu trabalho. A partir daí, o seu computador executa as suas instruções no momento especificado, até que lhe seja dito para parar.

Pela sua concepção, o cron não é um sistema complexo. Aqui está o que precisa de saber sobre ele.

Mais recursos do Linux

Folha de cheat sheet dos comandos Linux

Comandos avançados de Linux

Curso online gratuito: Visão Geral Técnica da RHEL

Folha de fraude de rede Linux

Folha de fraude SELinux

Folha de cheat sheet dos comandos comuns do Linux

O que são recipientes Linux?

Os nossos últimos artigos sobre Linux

O que é o cron?

O comando cron é tão ubíquo em Linux e Unix, e tem sido imitado e reinventado tantas vezes que é quase um termo genérico para algo que acontece num horário. É uma forma de automatização, e embora existam diferentes implementações do mesmo (cron do Dillon, cron da Vixie, chrony, e outros), e variações como anacron e temporizadores do sistema, a sintaxe e o fluxo de trabalho têm permanecido essencialmente os mesmos durante décadas.

Cron funciona num sistema “spool”, tal como as impressoras e o correio electrónico. Se não sabia que as impressoras e o correio electrónico utilizam um “spool”, não faz mal porque o objectivo de um ficheiro spool é que não se deve pensar muito no assunto. Num sistema Linux, o directório /var/spool é concebido como um núcleo central para ficheiros importantes mas de baixo nível, com os quais o utilizador não deve interagir directamente. Um dos spools geridos em /var/spool é tabelas cron ou “crontab”, para abreviar. Cada utilizador incluído num sistema Linux tem uma “crontab”. Os utilizadores podem editar, visualizar, e remover a sua própria crontab. Além disso, os utilizadores podem usar a sua crontab para agendar tarefas. O próprio sistema cron monitoriza as crontabs e assegura que qualquer tarefa listada numa crontab é executada no seu tempo especificado.

Editar definições da crontab

Pode editar a sua crontab utilizando o comando crontab juntamente com a opçã o-e (para editar ). Por defeito, a maioria dos sistemas invoca o editor de texto vim. Se, como eu, não usar o Vim, então pode definir um editor diferente para si no seu

Melhor ainda, vá descarregar a nossa folha de dados gratuita para que tenha a chave à mão quando mais precisar dela!

Por Priya Pedamkar

Introdução à Linux Crontab

Crontab não é mais do que uma tabela com o daemon, cron utiliza para agendar tarefas em sistemas operativos baseados em Linux. Agora deve estar a perguntar-se que definição infantil, nós nem sequer sabemos o que é o cron! Assim, para isso, definimos cron como um utilitário de software ou, por outras palavras, processo de sistema que permite aos utilizadores agendar agendas baseadas no tempo para executar tarefas repetitivas em intervalos fixos de tempo. Estes intervalos podem ser uma hora específica do dia ou mesmo como um horário regular com um intervalo de dias fixo. Crontab significa “tabela cron”, que essencialmente recebe ajuda do cron para a execução de tarefas. Esta utilidade é muito útil em situações em que a automatização é necessária na manutenção do sistema ou em casos de administração do sistema.

Sintaxe

Antes mesmo de saltarmos para uma compreensão aprofundada dos cenários que a crontab ajudaria, ou qual é o princípio de funcionamento da crontab, é muito essencial compreender a sintaxe por detrás da crontab para que, ao mesmo tempo que passamos por qualquer outro detalhe, possamos manter a sintaxe em mente e isso irá melhorar a nossa interpretabilidade visual.

Desenvolvimento Web, linguagens de programação, testes de software e outros

A sintaxe para operações em crontab

crontab [-u user] [-l | – r | – e] [-i] [-s] [-s

Nesta sintaxe, qualquer uma ou combinação das opções pode ser utilizada. – u ajuda a crontab a procurar especificamente a crontab desse utilizador. – l ajuda a exibir o ficheiro da crontab actual para edição. – r ajuda a remover a crontab actual que está presente. – e ajuda na edição do post do ficheiro de crontab que a sintaxe seguinte é utilizada para introduzir um comando. – i é muito semelhante a-r, sendo a única diferença o facto de esta opção pedir antes de remover um ficheiro de crontab actual. – s é para o SELinux, que é o Linux melhorado em termos de segurança e está fora do âmbito deste artigo!

A sintaxe para a entrada de um comando

[MINUTO] [HORA] [DIA DO MÊS] [MÊS] [DIA DA SEMANA] COMANDO

Na sintaxe acima, a crontab consiste nos seguintes parâmetros que precisam de ser passados para executar o cronograma na hora programada requerida. Aqui os campos incluem:[COMANDO] é o comando que teria de executar à hora agendada e esse agendamento é fornecido pelo seguinte parâmetro: [MINUTO] é o minuto do dia em que quer que o COMANDO funcione [HORA] é a hora do dia em que o COMANDO precisa de funcionar, [DIA DO MÊS] é a menção do dia do mês, no elenco o COMANDO precisa de funcionar apenas num dia específico do mês, [MÊS] é usado quando se precisa de o executar apenas num mês específico [DIA DA SEMANA] é usado para denotar que dias da semana o comando precisa de funcionar e aqui, os dias começam de 1 a partir de segunda-feira a 7 a partir de domingo.

Mais uma coisa a lembrar é que no caso de alguma das opções não ser essencial para o caso de utilização o cronómetro, esse campo é substituído por * o que significa essencialmente que o comando será executado em todas as funcionalidades onde * é mencionado. Por exemplo, se o [MÊS]for mencionado como *, então o comando correrá durante todos os meses! Agora um caso de Trivia, basta pensar se todos os campos forem *, o que significaria isso. Tente pensar sobre isto, até vermos a resposta no exemplo na nossa próxima secção!

Como é que o Crontab funciona no Linux?

Aqui vamos fazer uma pesquisa sobre como funciona o Crontab no Linux. Crontabs estão presentes no local, por exemplo, /var/spool ou um subdirectório dentro do mesmo, por exemplo, /var/spool/cron/crontabs. Embora estejam presentes em qualquer um destes locais, deve-se evitar a sua edição directa e, em vez disso, recorrer à ajuda da crontab de comando para cumprir a utilidade.

Folha de cheat sheet dos comandos comuns do Linux

O que são recipientes Linux?

Os nossos últimos artigos sobre Linux

O que é o cron?

  • O comando cron é tão ubíquo em Linux e Unix, e tem sido imitado e reinventado tantas vezes que é quase um termo genérico para algo que acontece num horário . É uma forma de automatização, e embora existam diferentes implementações do mesmo (cron do Dillon, cron da Vixie, chrony, e outros), e variações como anacron e temporizadores do sistema, a sintaxe e o fluxo de trabalho têm permanecido essencialmente os mesmos durante décadas.
  • Cron funciona num sistema “spool”, tal como as impressoras e o correio electrónico. Se não sabia que as impressoras e o correio electrónico utilizam um spool, não faz mal porque o objectivo de um ficheiro spool é que não se deve pensar muito sobre isso. Num sistema Linux, o directório /var/spool é concebido como um núcleo central para ficheiros importantes mas de baixo nível, com os quais o utilizador não deve interagir directamente. Um dos spools geridos em /var/spool é tabelas cron ou “crontab”, para abreviar. Cada utilizador incluído num sistema Linux tem uma “crontab”. Os utilizadores podem editar, visualizar, e remover a sua própria crontab. Além disso, os utilizadores podem usar a sua crontab para agendar tarefas. O próprio sistema cron monitoriza as crontabs e assegura que qualquer tarefa listada numa crontab é executada no seu tempo especificado.
  • Editar definições da crontab
  • Pode editar a sua crontab utilizando o comando crontab juntamente com a opçã o-e (para editar ). Por defeito, a maioria dos sistemas invoca o editor de texto vim. Se, como eu, não usar o Vim, então pode definir um editor diferente para si no seu
  • /.bashrc ficheiro. Eu estabeleço o meu para Emacs, mas também pode tentar Nano, Kate, ou qualquer que seja o seu editor favorito. A variável de ambiente EDITOR define que editor de texto usa no seu terminal, enquanto a variável VISUAL define que editor usa em modo gráfico:
  • Refresque a sua sessão shell com as suas novas definições:
  • Agora pode editar a sua crontab com o seu editor preferido:
  • Agende uma tarefa

O sistema cron é essencialmente um sistema de calendário. Pode dizer ao cron com que frequência quer que um trabalho seja executado, usando cinco atributos diferentes: minuto, hora, data, mês, dia da semana. A ordem destes atributos é estrita e não necessariamente intuitiva, mas pode pensar neles como filtros ou máscaras. Por defeito, pode pensar em tudo ser definido para sempre ou para cada . Esta entrada seria executada em toque /tmp/hello no topo de cada minuto durante cada hora de cada dia ao longo de todo o ano:

Pode restringir este horário abrangente definindo definições específicas para cada atributo. Para que o trabalho seja executado na marca de meia hora de cada hora, defina os minutos para 30 :

Pode restringir ainda mais esta instrução com uma hora específica. Este trabalho decorre às 3:30 da manhã todas as manhãs:

Também pode fazer o trabalho funcionar apenas no primeiro dia de cada mês:

Pode definir um mês usando 1 para Janeiro até 12 para Dezembro, e pode definir um dia usando 0 para Domingo até 6 para Sábado. Este trabalho funciona às 3:15 durante o mês de Abril, apenas às segundas-feiras:

Ajustar incrementos

Todas estas definições correspondem exactamente a um valor . Também se pode usar a notação cron para executar trabalhos após uma determinada passagem de tempo. Por exemplo, é possível executar um trabalho a cada 15 minutos:

Pode executar um trabalho às 10 da manhã a cada três dias:

Pode executar um trabalho a cada seis horas:

Estenografia de Cron

As implementações modernas de cron acrescentaram uma estenografia conveniente para horários comuns. Estes são:

@horário

@daily

@semanais

@mensal

@anual ou @anualmente

Listar empregos de cronistas

Usando o comando crontab, pode ver uma lista dos seus trabalhos cron agendados:

Remover uma crontab

Quando terminar com uma crontab, pode removê-la com a opçã o-r:

  • A opçã o-i significa interactiva . Pede-lhe uma confirmação antes de apagar o ficheiro.
  • O que o cron pode fazer
  • Uma coisa é saber como usar
  • cron
  • mas é outra coisa saber para que o utilizar. O caso clássico de utilização é um bom plano de apoio. Se o seu computador estiver ligado durante a maior parte do dia ou todo o dia e toda a noite, então pode programar uma cópia de segurança de rotina de uma partição importante. Executo uma aplicação de cópia de segurança chamada rdiff-backup na minha partição de dados primária diariamente às 3 da manhã:

Outra utilização comum é a manutenção do sistema. No meu ambiente de trabalho Slackware, actualizo o meu catálogo de repositório local todas as sextas-feiras à tarde:

Posso também executar um script Ansible às 15:00 de três em três dias para arrumar a minha pasta de Downloads:

Um pequeno investimento na saúde do seu ambiente informático vai muito longe. Existem scripts de desduplicação, monitores de directórios de tamanho de ficheiro e /tmp, redimensionadores de fotos, movimentadores de ficheiros, e muitas mais tarefas de menu que poderia programar para executar em segundo plano para ajudar a manter o seu sistema desordenado. Com o cron , o seu computador pode tomar conta de si próprio de formas que eu apenas gostaria que o meu apartamento físico tomasse.

Lembre-se das configurações do cron

Para além de saber porque precisa de cron , a coisa mais difícil sobre cron na minha experiência tem sido lembrar a sua sintaxe. Repita isto para si mesmo, vezes sem conta, até que a tenha memorizado:

Minutos, horas, data, mês, dia da semana.

Minutos, horas, data, mês, dia da semana. Minutos, horas, data, mês, dia da semana.Melhor ainda, vá descarregar a nossa folha de dados gratuita para que tenha a chave à mão quando mais precisar dela!

Neste artigo, vamos rever e ver como podemos agendar e executar tarefas em segundo plano automaticamente, a intervalos regulares, usando o comando Crontab.

Lidar com um trabalho frequente manualmente é uma tarefa assustadora para administradores de sistemas e tais tarefas podem ser agendadas e executadas automaticamente em segundo plano sem intervenção humana usando o daemon cron no Linux ou sistema operativo tipo Unix.

Por exemplo, é possível automatizar o backup do sistema Linux, agendar actualizações e sincronização de ficheiros, e muitas mais usando o daemon Cron, que é usado para executar tarefas agendadas a partir da linha de comandos ou usar ferramentas online para gerar tarefas cron.

Cron acorda a cada minuto e verifica as tarefas agendadas no cron – Crontab ( CRON TABle ) é uma tabela onde podemos agendar este tipo de tarefas repetidas.

Dicas: Cada utilizador pode ter a sua própria crontab para criar, modificar e apagar tarefas. Por defeito o cron está activado para os utilizadores, no entanto, podemos restringir os utilizadores adicionando uma entrada no ficheiro /etc/cron. deny.

O ficheiro Crontab consiste em comando por linha e tem seis campos na realidade e separados ou por espaço ou tabulação. Os cinco campos iniciais representam tempo para executar tarefas e o último campo é para comando.

O ficheiro Crontab consiste em comando por linha e tem seis campos na realidade e separados ou por espaço ou tabulação. Os cinco campos iniciais representam tempo para executar tarefas e o último campo é para comando.

O ficheiro Crontab consiste em comando por linha e tem seis campos na realidade e separados ou por espaço ou tabulação. Os cinco campos iniciais representam tempo para executar tarefas e o último campo é para comando.

Dia do Mês (valores de retenção entre 1-31 )