[{"data":1,"prerenderedAt":618},["ShallowReactive",2],{"cron-guides-pt":3},[4,147,385],{"id":5,"title":6,"author":7,"body":8,"description":129,"extension":130,"faq":131,"meta":138,"navigation":139,"navigationTitle":133,"order":140,"path":141,"publishedAt":142,"seo":143,"slug":144,"stem":145,"updatedAt":142,"__hash__":146},"cron_guides\u002Fpt\u002Fguides\u002Fwhat-is-a-cron-job.md","O que é um Cron Job? Guia prático","ToolkitVault.com",{"type":9,"value":10,"toc":121},"minimark",[11,16,20,31,34,37,41,57,61,68,83,87,94,97,101,104,107],[12,13,15],"h2",{"id":14},"como-funciona-o-cron","Como funciona o Cron",[17,18,19],"p",{},"O Cron é um agendador de sistemas Unix. O serviço lê ficheiros crontab e inicia um comando quando a data e a hora correspondem à expressão.",[21,22,28],"pre",{"className":23,"code":25,"language":26,"meta":27},[24],"language-text","30 2 * * * \u002Fusr\u002Flocal\u002Fbin\u002Fbackup\n","text","",[29,30,25],"code",{"__ignoreMap":27},[17,32,33],{},"Este exemplo inicia uma cópia de segurança todos os dias às 02:30.",[17,35,36],{},"Uma entrada também pode definir variáveis, redirecionar a saída ou chamar um script. Manter a lógica complexa num script testado torna o agendamento mais legível e fácil de manter.",[12,38,40],{"id":39},"utilizações-comuns","Utilizações comuns",[42,43,44,48,51,54],"ul",{},[45,46,47],"li",{},"Cópias de segurança e relatórios",[45,49,50],{},"Limpeza de cache e rotação de registos",[45,52,53],{},"Importação e sincronização de dados",[45,55,56],{},"Verificações de integridade e notificações",[12,58,60],{"id":59},"crontabs-de-utilizador-e-de-sistema","Crontabs de utilizador e de sistema",[17,62,63,64,67],{},"O comando ",[29,65,66],{},"crontab -e"," edita o agendamento do utilizador atual. As tarefas são executadas com as permissões desse utilizador e recebem normalmente um ambiente mais limitado do que um terminal interativo. Uma crontab de sistema pode ter um campo adicional para o nome do utilizador, pelo que deves confirmar o formato antes de copiares uma linha.",[17,69,70,71,74,75,78,79,82],{},"Os locais habituais incluem ",[29,72,73],{},"\u002Fetc\u002Fcrontab",", ",[29,76,77],{},"\u002Fetc\u002Fcron.d"," e diretórios como ",[29,80,81],{},"\u002Fetc\u002Fcron.daily",". Podem variar consoante o sistema operativo.",[12,84,86],{"id":85},"registos-e-resolução-de-problemas","Registos e resolução de problemas",[17,88,89,90,93],{},"Se um comando funcionar no terminal mas falhar no Cron, confirma o utilizador, o diretório atual, o ",[29,91,92],{},"PATH",", a shell e as variáveis de ambiente. Usa caminhos absolutos e encaminha a saída e os erros para um registo controlado.",[17,95,96],{},"Confirma também que o serviço Cron está ativo e que a crontab pertence ao utilizador certo. Um fuso horário diferente explica frequentemente uma execução à hora errada.",[12,98,100],{"id":99},"tarefas-recorrentes-fiáveis","Tarefas recorrentes fiáveis",[17,102,103],{},"Prepara a tarefa para ser repetida em segurança. Usa um bloqueio se duas execuções não puderem coincidir, devolve códigos de saída úteis e monitoriza falhas. Não coloques segredos diretamente na crontab e limita o acesso aos ficheiros de configuração.",[17,105,106],{},"Usa caminhos absolutos, define as variáveis de ambiente necessárias e regista os erros. Testa o comando com o mesmo utilizador que o Cron.",[17,108,109,110,115,116,120],{},"Cola um agendamento no ",[111,112,114],"a",{"href":113},"\u002Fpt\u002Fcron-expression-decoder","descodificador Cron"," ou cria um com o ",[111,117,119],{"href":118},"\u002Fpt\u002Fcron-expression-generator","gerador Cron",".",{"title":27,"searchDepth":122,"depth":122,"links":123},2,[124,125,126,127,128],{"id":14,"depth":122,"text":15},{"id":39,"depth":122,"text":40},{"id":59,"depth":122,"text":60},{"id":85,"depth":122,"text":86},{"id":99,"depth":122,"text":100},"Aprende como funcionam os Cron Jobs, os ficheiros crontab e as tarefas recorrentes, com recomendações para testes seguros.","md",[132,135],{"question":133,"answer":134},"O que é um Cron Job?","Um Cron Job é um comando ou script executado automaticamente por um sistema Unix segundo um agendamento recorrente.",{"question":136,"answer":137},"Onde ficam guardados os Cron Jobs?","As tarefas do utilizador ficam normalmente numa crontab editada com crontab -e. As tarefas de sistema podem ficar em \u002Fetc\u002Fcrontab ou \u002Fetc\u002Fcron.d.",{},true,1,"\u002Fpt\u002Fguides\u002Fwhat-is-a-cron-job","2026-08-13T12:00:00+02:00",{"title":6,"description":129},"what-is-a-cron-job","pt\u002Fguides\u002Fwhat-is-a-cron-job","JOTOlCThXBwaBvp_pBOh7ABE1yxJ5YMX_YpSYimYmLs",{"id":148,"title":149,"author":7,"body":150,"description":370,"extension":130,"faq":371,"meta":378,"navigation":139,"navigationTitle":379,"order":122,"path":380,"publishedAt":142,"seo":381,"slug":382,"stem":383,"updatedAt":142,"__hash__":384},"cron_guides\u002Fpt\u002Fguides\u002Fcron-syntax-examples.md","Sintaxe Cron e exemplos de expressões",{"type":9,"value":151,"toc":364},[152,156,162,232,249,253,334,341,345,348,351,355,358],[12,153,155],{"id":154},"os-cinco-campos","Os cinco campos",[21,157,160],{"className":158,"code":159,"language":26,"meta":27},[24],"minuto hora dia-do-mês mês dia-da-semana\n",[29,161,159],{"__ignoreMap":27},[163,164,165,178],"table",{},[166,167,168],"thead",{},[169,170,171,175],"tr",{},[172,173,174],"th",{},"Agendamento",[172,176,177],{},"Expressão",[179,180,181,192,202,212,222],"tbody",{},[169,182,183,187],{},[184,185,186],"td",{},"A cada minuto",[184,188,189],{},[29,190,191],{},"* * * * *",[169,193,194,197],{},[184,195,196],{},"A cada 5 minutos",[184,198,199],{},[29,200,201],{},"*\u002F5 * * * *",[169,203,204,207],{},[184,205,206],{},"De hora a hora",[184,208,209],{},[29,210,211],{},"0 * * * *",[169,213,214,217],{},[184,215,216],{},"Todos os dias à meia-noite",[184,218,219],{},[29,220,221],{},"0 0 * * *",[169,223,224,227],{},[184,225,226],{},"Dias úteis às 09:00",[184,228,229],{},[29,230,231],{},"0 9 * * 1-5",[17,233,234,235,74,238,74,241,244,245,248],{},"Os operadores ",[29,236,237],{},"*",[29,239,240],{},",",[29,242,243],{},"-"," e ",[29,246,247],{},"\u002F"," representam todos os valores, uma lista, um intervalo e um passo.",[12,250,252],{"id":251},"mais-exemplos-úteis","Mais exemplos úteis",[163,254,255,267],{},[166,256,257],{},[169,258,259,262,264],{},[172,260,261],{},"Objetivo",[172,263,177],{},[172,265,266],{},"Nota",[179,268,269,282,295,308,321],{},[169,270,271,274,279],{},[184,272,273],{},"A cada 15 minutos",[184,275,276],{},[29,277,278],{},"*\u002F15 * * * *",[184,280,281],{},"Nos minutos 0, 15, 30 e 45",[169,283,284,287,292],{},[184,285,286],{},"Todos os dias às 06:30",[184,288,289],{},[29,290,291],{},"30 6 * * *",[184,293,294],{},"Usa o fuso horário do servidor",[169,296,297,300,305],{},[184,298,299],{},"Todas as segundas às 09:00",[184,301,302],{},[29,303,304],{},"0 9 * * 1",[184,306,307],{},"Confirma a numeração do domingo",[169,309,310,313,318],{},[184,311,312],{},"Dias úteis às 18:00",[184,314,315],{},[29,316,317],{},"0 18 * * 1-5",[184,319,320],{},"De segunda a sexta-feira",[169,322,323,326,331],{},[184,324,325],{},"A cada três horas",[184,327,328],{},[29,329,330],{},"0 *\u002F3 * * *",[184,332,333],{},"Às 00:00, 03:00, 06:00, etc.",[17,335,336,337,340],{},"O Cron compara cada campo com a hora atual. ",[29,338,339],{},"*\u002F15"," não significa quinze minutos depois da execução anterior, mas sim posições fixas dentro da hora.",[12,342,344],{"id":343},"fusos-horários-e-execuções-perdidas","Fusos horários e execuções perdidas",[17,346,347],{},"Uma expressão Cron não inclui um fuso horário. Normalmente, o Cron usa o fuso da máquina, enquanto alguns contentores e serviços geridos usam UTC. As mudanças da hora podem eliminar ou repetir uma hora local.",[17,349,350],{},"O Cron tradicional também não recupera automaticamente uma tarefa perdida enquanto a máquina estava desligada. Se isso for necessário, usa um agendador com recuperação de execuções ou prepara a tarefa para identificar trabalho pendente.",[12,352,354],{"id":353},"validar-antes-da-produção","Validar antes da produção",[17,356,357],{},"Confirma várias execuções futuras, testa o comando separadamente e identifica o dialeto Cron. Verifica especialmente a meia-noite, mudanças de mês, dias úteis e mudanças da hora. Em produção, regista falhas e impede sobreposições quando uma tarefa pode demorar mais do que o respetivo intervalo.",[17,359,360,361,363],{},"Usa o ",[111,362,114],{"href":113}," para obteres uma explicação e veres as próximas execuções.",{"title":27,"searchDepth":122,"depth":122,"links":365},[366,367,368,369],{"id":154,"depth":122,"text":155},{"id":251,"depth":122,"text":252},{"id":343,"depth":122,"text":344},{"id":353,"depth":122,"text":354},"Percebe os campos, curingas e operadores Cron com exemplos para agendamentos horários, diários, semanais e mensais.",[372,375],{"question":373,"answer":374},"O que significa 0 0 * * *?","No formato Unix de cinco campos, significa todos os dias à meia-noite.",{"question":376,"answer":377},"O que significa *\u002F5 no Cron?","Significa a cada cinco unidades do campo. No campo dos minutos, significa a cada cinco minutos.",{},"Sintaxe Cron e exemplos","\u002Fpt\u002Fguides\u002Fcron-syntax-examples",{"title":149,"description":370},"cron-syntax-examples","pt\u002Fguides\u002Fcron-syntax-examples","nBJktm2MMFt2_CsM45hTKXUnhK5hJMiiYNqx3KzPfRk",{"id":386,"title":387,"author":7,"body":388,"description":602,"extension":130,"faq":603,"meta":610,"navigation":139,"navigationTitle":611,"order":612,"path":613,"publishedAt":142,"seo":614,"slug":615,"stem":616,"updatedAt":142,"__hash__":617},"cron_guides\u002Fpt\u002Fguides\u002Funix-vs-spring-cron.md","Cron Unix vs Spring e Quartz",{"type":9,"value":389,"toc":596},[390,394,451,466,473,477,548,554,558,580,583,587,590],[12,391,393],{"id":392},"diferenças-de-formato","Diferenças de formato",[163,395,396,410],{},[166,397,398],{},[169,399,400,403,407],{},[172,401,402],{},"Sistema",[172,404,406],{"align":405},"right","Campos",[172,408,409],{},"Todos os dias às 02:00",[179,411,412,425,438],{},[169,413,414,417,420],{},[184,415,416],{},"Cron Unix",[184,418,419],{"align":405},"5",[184,421,422],{},[29,423,424],{},"0 2 * * *",[169,426,427,430,433],{},[184,428,429],{},"Spring Cron",[184,431,432],{"align":405},"6",[184,434,435],{},[29,436,437],{},"0 0 2 * * *",[169,439,440,443,446],{},[184,441,442],{},"Quartz Cron",[184,444,445],{"align":405},"6 ou 7",[184,447,448],{},[29,449,450],{},"0 0 2 * * ?",[17,452,453,454,74,457,74,460,244,463,120],{},"Unix começa nos minutos. Spring e Quartz começam nos segundos. Quartz aceita ainda modificadores como ",[29,455,456],{},"?",[29,458,459],{},"L",[29,461,462],{},"W",[29,464,465],{},"#",[17,467,468,469,472],{},"Não te limites a adicionar ",[29,470,471],{},"0",". Confirma a numeração do domingo, as regras dos campos de dia e os modificadores suportados.",[12,474,476],{"id":475},"exemplos-de-conversão","Exemplos de conversão",[163,478,479,494],{},[166,480,481],{},[169,482,483,485,488,491],{},[172,484,261],{},[172,486,487],{},"Unix ou Kubernetes",[172,489,490],{},"Spring",[172,492,493],{},"Quartz",[179,495,496,514,530],{},[169,497,498,500,504,509],{},[184,499,186],{},[184,501,502],{},[29,503,191],{},[184,505,506],{},[29,507,508],{},"0 * * * * *",[184,510,511],{},[29,512,513],{},"0 * * * * ?",[169,515,516,518,522,526],{},[184,517,409],{},[184,519,520],{},[29,521,424],{},[184,523,524],{},[29,525,437],{},[184,527,528],{},[29,529,450],{},[169,531,532,534,538,543],{},[184,533,226],{},[184,535,536],{},[29,537,231],{},[184,539,540],{},[29,541,542],{},"0 0 9 * * MON-FRI",[184,544,545],{},[29,546,547],{},"0 0 9 ? * MON-FRI",[17,549,550,551,553],{},"Estes exemplos mostram a posição dos campos, mas a sintaxe aceite depende sempre da implementação e da versão. O Quartz usa ",[29,552,456],{}," para não especificar um valor num dos dois campos de dia.",[12,555,557],{"id":556},"caracteres-específicos-do-quartz","Caracteres específicos do Quartz",[42,559,560,565,570,575],{},[45,561,562,564],{},[29,563,456],{}," deixa o dia do mês ou da semana sem valor específico.",[45,566,567,569],{},[29,568,459],{}," representa o último dia, conforme o campo.",[45,571,572,574],{},[29,573,462],{}," escolhe o dia útil mais próximo.",[45,576,577,579],{},[29,578,465],{}," seleciona uma ocorrência, como a segunda segunda-feira do mês.",[17,581,582],{},"Estes modificadores não funcionam numa crontab Linux normal nem num CronJob Kubernetes.",[12,584,586],{"id":585},"lista-de-verificação-para-migração","Lista de verificação para migração",[17,588,589],{},"Identifica primeiro o agendador. Conta os campos, confirma se aceita segundos e ano, verifica a numeração dos dias e o fuso horário. Pré-visualiza várias execuções, incluindo mudanças de mês. Durante a revisão, mantém a expressão original ao lado da convertida para detetar facilmente um campo deslocado.",[17,591,592,593,595],{},"Cria um agendamento no ",[111,594,119],{"href":118}," e confirma a documentação do agendador de destino.",{"title":27,"searchDepth":122,"depth":122,"links":597},[598,599,600,601],{"id":392,"depth":122,"text":393},{"id":475,"depth":122,"text":476},{"id":556,"depth":122,"text":557},{"id":585,"depth":122,"text":586},"Compara o formato Unix de cinco campos com as expressões Spring e Quartz de seis ou sete campos e evita erros de conversão.",[604,607],{"question":605,"answer":606},"Porque é que o Spring Cron tem seis campos?","O Spring adiciona os segundos como primeiro campo, enquanto o formato Unix começa nos minutos.",{"question":608,"answer":609},"Posso usar diretamente uma expressão Unix no Spring?","Não. Adiciona o campo dos segundos e confirma as regras dos dias na versão do Spring que usas.",{},"Cron Unix vs Spring",3,"\u002Fpt\u002Fguides\u002Funix-vs-spring-cron",{"title":387,"description":602},"unix-vs-spring-cron","pt\u002Fguides\u002Funix-vs-spring-cron","HtPtKPXnIqRATkM3FrjjunjLn3lKekDZinqVodTL4n8",1786609983072]