Crontab: mudanças entre as edições
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 | == O que é? == | ||
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 == | |||
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: | 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.