Ir para o conteúdo

Crontab: mudanças entre as edições

De RJGSWiki
Criou página com '= Crontab = O crontab é um utilitário do sistema Linux que agenda processo e ações. == Instalação == Para instalar o crontab, insira esse comando no terminal: sudo apt install cron -y após a intalação será criado o arquivo '''/etc/crontab'''. ele terá um conteúdo parecido com esse: <pre> # /etc/crontab: system-wide crontab # Unlike any other crontab you don't have to run the `crontab' # command to install the new version when you edit this file # an...'
Etiqueta: wikieditor
 
Sem resumo de edição
 
(2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
= Crontab =  
= Crontab =  


O crontab é um utilitário do sistema Linux que agenda processo e ações.
== O que é? ==


== Instalação ==
O Cron é utilizado para agendar tarefas recorrentes, as tarefas são chamadas de cronjobs e são gerenciadas pelo crontab (tabela do cron).


Para instalar o crontab, insira esse comando no terminal:
== Instalação ==


sudo apt install cron -y
Geralmente ele já vem instalado por padrão na maioria das distribuições Linux, mas caso o seu não tenha vindo, pode instalar ele com o comando abaixo:


após a intalação será criado o arquivo '''/etc/crontab'''.
CentOS/RHEL 7/8/5
yum install cronie
 
Ubuntu
apt-get install cron -y
 
Após a intalação será criado o arquivo '''/etc/crontab'''.


ele terá um conteúdo parecido com esse:
ele terá um conteúdo parecido com esse:
Linha 37: Linha 43:
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
</pre>
</pre>
== Configuração e uso ==
Para criar uma nova tarefa usamos o comando <code>crontab -e</code> que irá abrir o arquivo do cron para inserir o agendamento para o usuário atual. Podemos também editar o agendamento de um usuário passando o parâmetro <code>-u</code> e o nome do usuário em seguida. Assim como o exemplo:
crontab -e
crontab -u ''usuario'' -e
Outra possibilidade com o comando crontab é listar os agendamentos. Para isso, usamos o parâmetro -l.
crontab -l
crontab -u ''usuario'' -l
As tabelas do cron de um usuário ficam armazenadas no diretório <code>/var/spool/cron/crontabs/</code>, os agendamentos globais ficam armazenados no arquivo <code>/etc/crontab</code>.
O crontab possui sete colunas, que correspondem aos '''minutos''', '''horas''', '''dias''', '''meses''', '''semanas''', '''usuário''' e, por fim, aos '''comandos''' que serão executados.
E quais são os valores permitidos para cada coluna?
* '''Minuto''': Valores de 0 a 59 ou *
* '''Hora''': Valores de 0 a 23 ou *
* '''Dia''': Valores de 1 a 31 ou *
* '''Mês''': Valores de 1 a 12, jan a dec ou *
* '''Semana''': 0 a 6, sun a sat ou * (0 e 7 representa Domingo)
* '''Comando''': O comando a ser executado ou script
Algumas observações importantes:
* caso deseje utilizar o mês e semana através dos seus respectivos nomes, deve respeitar a ortografia da língua inglesa.
* O caractere asterisco (*) significa do primeiro ao último.
* Para executar um script, é recomendado que seja informado o caminho absoluto do script e não o caminho relativo sem esquecer de prover as permissões suficientes para a execução do script.
* Para interpretar a instrução do crontab a leitura deve começar da direita para a esquerda.
* É possível especificar uma sequência alternada de valores, separando-os com vírgula ",".
* Também é possível declarar um período de tempo, utilizando o hífen "-".
* Para declarar intervalos intercalados utilizamos o hífen (-) para declarar o período e uma barra "/" para declarar o intervalo de intercalamento. ''Exemplo: 8-18/2 quer dizer que efetuará o job do dia 8 ao dia 18 intercalando de 2 em 2 dias''.
== Fonte ==
* https://medium.com/totvsdevelopers/entendendo-o-crontab-607bc9f00ed3#id_token=eyJhbGciOiJSUzI1NiIsImtpZCI6ImRkNTMwMTIwNGZjMWQ2YTBkNjhjNzgzYTM1Y2M5YzEwYjI1ZTFmNGEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiIyMTYyOTYwMzU4MzQtazFrNnFlMDYwczJ0cDJhMmphbTRsamRjbXMwMHN0dGcuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiIyMTYyOTYwMzU4MzQtazFrNnFlMDYwczJ0cDJhMmphbTRsamRjbXMwMHN0dGcuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDA4NDQ4MzI3MTAwNTg4OTU2NTAiLCJlbWFpbCI6InJqZ3NpbmZvQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYmYiOjE3NTM5NjA1MTUsIm5hbWUiOiJSw7NiaXNvbiBKb2VsIEd1aW1hcsOjZXMgU2ltb24iLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jSXl3dmpmd1laUVJMQ1pNdEx6VnZ2al9VdXZYQ2xmQV83Q2pTY3c1Rmg3T3JlTUlMM3g9czk2LWMiLCJnaXZlbl9uYW1lIjoiUsOzYmlzb24gSm9lbCIsImZhbWlseV9uYW1lIjoiR3VpbWFyw6NlcyBTaW1vbiIsImlhdCI6MTc1Mzk2MDgxNSwiZXhwIjoxNzUzOTY0NDE1LCJqdGkiOiJmODI0MTMyZTQzZjRjZTNkOWQwYWZjNTAwZWJkNWFhMDk4MjkzN2Y3In0.fbbQEKyLYG1V8e_rnkCZ3wtyDadi6jd7yyGGYIkJKVXASyea3w3SCfqhS_KNTOHbtZM6XXA8kdLZETs2mJEjq2UR1q7IMenpL1ViP-nSkKaLoFB_fKLwU-Z_z8wP-T3gavI8OOntx5icOkUSUoHcTwkEgLqXGNOiY24IyPOr684TE8lI80rRaBcThIGo2Qsy53p131h9k31Eg1lIR2J2KvwJTIrpRWkMa4AnkuiVuaudmlKgBLR2fXoRv7VfbsA06I61DiLMOcCZCkPlhjAU3lZUHK7ShHVr1cdXZC2LE1HWFNcpft23kyb4cezYMEzZIi1gIFGwM1wMcsArWEA-wg

Edição atual tal como às 14h50min de 31 de julho de 2025

Crontab[editar]

O que é?[editar]

O Cron é utilizado para agendar tarefas recorrentes, as tarefas são chamadas de cronjobs e são gerenciadas pelo crontab (tabela do cron).

Instalação[editar]

Geralmente ele já vem instalado por padrão na maioria das distribuições Linux, mas caso o seu não tenha vindo, pode instalar ele com o comando abaixo:

CentOS/RHEL 7/8/5

yum install cronie

Ubuntu

apt-get install cron -y

Após a intalação será criado o arquivo /etc/crontab.

ele terá um conteúdo parecido com esse:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
# You can also override PATH, but by default, newer versions inherit it from the environment
#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

Configuração e uso[editar]

Para criar uma nova tarefa usamos o comando crontab -e que irá abrir o arquivo do cron para inserir o agendamento para o usuário atual. Podemos também editar o agendamento de um usuário passando o parâmetro -u e o nome do usuário em seguida. Assim como o exemplo:

crontab -e 
crontab -u usuario -e

Outra possibilidade com o comando crontab é listar os agendamentos. Para isso, usamos o parâmetro -l.

crontab -l
crontab -u usuario -l

As tabelas do cron de um usuário ficam armazenadas no diretório /var/spool/cron/crontabs/, os agendamentos globais ficam armazenados no arquivo /etc/crontab.

O crontab possui sete colunas, que correspondem aos minutos, horas, dias, meses, semanas, usuário e, por fim, aos comandos que serão executados.

E quais são os valores permitidos para cada coluna?

  • Minuto: Valores de 0 a 59 ou *
  • Hora: Valores de 0 a 23 ou *
  • Dia: Valores de 1 a 31 ou *
  • Mês: Valores de 1 a 12, jan a dec ou *
  • Semana: 0 a 6, sun a sat ou * (0 e 7 representa Domingo)
  • Comando: O comando a ser executado ou script

Algumas observações importantes:

  • caso deseje utilizar o mês e semana através dos seus respectivos nomes, deve respeitar a ortografia da língua inglesa.
  • O caractere asterisco (*) significa do primeiro ao último.
  • Para executar um script, é recomendado que seja informado o caminho absoluto do script e não o caminho relativo sem esquecer de prover as permissões suficientes para a execução do script.
  • Para interpretar a instrução do crontab a leitura deve começar da direita para a esquerda.
  • É possível especificar uma sequência alternada de valores, separando-os com vírgula ",".
  • Também é possível declarar um período de tempo, utilizando o hífen "-".
  • Para declarar intervalos intercalados utilizamos o hífen (-) para declarar o período e uma barra "/" para declarar o intervalo de intercalamento. Exemplo: 8-18/2 quer dizer que efetuará o job do dia 8 ao dia 18 intercalando de 2 em 2 dias.

Fonte[editar]