{"id":476476,"date":"2023-08-09T07:29:55","date_gmt":"2023-08-09T07:29:55","guid":{"rendered":""},"modified":"2023-09-05T11:12:51","modified_gmt":"2023-09-05T11:12:51","slug":"cron","status":"publish","type":"wiki","link":"https:\/\/oneproxy.pro\/pt\/wiki\/cron\/","title":{"rendered":"Cron"},"content":{"rendered":"<p>Cron \u00e9 um servi\u00e7o de agendamento de tarefas baseado em tempo encontrado em sistemas operacionais do tipo Unix. Os usu\u00e1rios agendam trabalhos (comandos ou scripts) para serem executados periodicamente em hor\u00e1rios, datas ou intervalos fixos.<\/p>\n<h2>A origem e hist\u00f3ria inicial do Cron<\/h2>\n<p>A primeira implementa\u00e7\u00e3o do cron remonta \u00e0 vers\u00e3o 7 do Unix. O termo \u201ccron\u201d vem da palavra grega para tempo, \u201cchronos\u201d. Esta vers\u00e3o do Unix, lan\u00e7ada em 1979, tinha um programa cron simples que executava tarefas em intervalos especificados. A funcionalidade do Cron foi posteriormente expandida por Paul Vixie em 1987. Esta vers\u00e3o, conhecida como Vixie Cron, \u00e9 a vers\u00e3o mais comumente instalada hoje e \u00e9 a vers\u00e3o geralmente referida quando as pessoas mencionam \u201cCron\u201d.<\/p>\n<h2>Expandindo o conceito de Cron<\/h2>\n<p>O Cron permite que os usu\u00e1rios automatizem a manuten\u00e7\u00e3o ou administra\u00e7\u00e3o do sistema \u2013 embora sua natureza de uso geral o torne \u00fatil para coisas como baixar arquivos da Internet e baixar e-mails em intervalos regulares. Um ambiente cron \u00e9 como uma sandbox na qual os cron jobs s\u00e3o executados fora do ambiente shell normal.<\/p>\n<p>Cada usu\u00e1rio pode ter seu pr\u00f3prio crontab e, embora sejam arquivos em \/var\/spool\/, eles n\u00e3o devem ser editados diretamente. A sintaxe das express\u00f5es cron pode ser dividida em dois tipos principais de sintaxe: sintaxe cron Unix e uma sintaxe mais complexa conhecida como sintaxe de express\u00e3o cron ou sintaxe cron de quartzo.<\/p>\n<h2>A estrutura interna do Cron e como funciona<\/h2>\n<p>O Cron opera com base em um arquivo de configura\u00e7\u00e3o simples, mas poderoso, conhecido como arquivo \u201ccrontab\u201d. Este arquivo cont\u00e9m uma linha para cada tarefa a ser executada, composta por cinco campos de hora e data, seguida de um comando a ser executado em hor\u00e1rios especificados.<\/p>\n<p>Os cinco campos representam:<\/p>\n<ol>\n<li>Minutos ap\u00f3s a hora (0 \u2013 59)<\/li>\n<li>Horas por dia (0 \u2013 23)<\/li>\n<li>Dias em um m\u00eas (1 \u2013 31)<\/li>\n<li>Meses em um ano (1 \u2013 12)<\/li>\n<li>Dias da semana (0 \u2013 7, onde 0 e 7 s\u00e3o domingo)<\/li>\n<\/ol>\n<p>O campo de comando cont\u00e9m a tarefa a ser executada nos hor\u00e1rios especificados nos primeiros cinco campos.<\/p>\n<h2>Principais recursos do Cron<\/h2>\n<p>Os principais recursos do Cron incluem:<\/p>\n<ol>\n<li>Ele permite que as tarefas sejam executadas automaticamente em segundo plano em intervalos regulares.<\/li>\n<li>Ele fornece uma plataforma flex\u00edvel para agendar tarefas (scripts ou comandos) com diversas unidades de tempo.<\/li>\n<li>Cada usu\u00e1rio pode ter seu pr\u00f3prio arquivo crontab.<\/li>\n<li>Os cron jobs podem ser programados para serem executados por minuto, hora, dia da semana, dia do m\u00eas e m\u00eas do ano.<\/li>\n<li>Cron fornece uma maneira simples e eficaz de automatizar v\u00e1rias tarefas do sistema.<\/li>\n<\/ol>\n<h2>Tipos de Cron<\/h2>\n<p>Os cron jobs geralmente podem ser categorizados da seguinte forma:<\/p>\n<table>\n<thead>\n<tr>\n<th>Tipo<\/th>\n<th>Descri\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Rein\u00edcio<\/td>\n<td>Executa uma vez na inicializa\u00e7\u00e3o.<\/td>\n<\/tr>\n<tr>\n<td>Anacron<\/td>\n<td>\u00c9 executado em intervalos especificados em dias.<\/td>\n<\/tr>\n<tr>\n<td>Cron do sistema<\/td>\n<td>Armazenados em \/etc\/crontab e no diret\u00f3rio \/etc\/cron.d\/, eles devem abranger todo o sistema.<\/td>\n<\/tr>\n<tr>\n<td>Cron do usu\u00e1rio<\/td>\n<td>Cada usu\u00e1rio pode ter os seus pr\u00f3prios e eles s\u00e3o armazenados em \/var\/spool\/cron\/crontabs\/.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Uso do Cron, problemas e suas solu\u00e7\u00f5es<\/h2>\n<p>O Cron \u00e9 \u00fatil para automatizar tarefas, mas pode causar problemas se n\u00e3o for usado com cuidado. Por exemplo, um cron job mal configurado pode levar a um alto uso da CPU. Al\u00e9m disso, o cron apenas envia por e-mail a sa\u00edda de seus trabalhos, se houver, para o usu\u00e1rio com o qual ele executa os trabalhos. Isso pode causar erros perdidos se n\u00e3o for verificado regularmente.<\/p>\n<p>As solu\u00e7\u00f5es comuns para esses problemas incluem:<\/p>\n<ul>\n<li>Verificando regularmente o alto uso da CPU e reconfigurando ou interrompendo trabalhos desnecess\u00e1rios.<\/li>\n<li>Certificar-se de que todos os comandos e scripts sejam executados corretamente antes de defini-los como tarefas cron.<\/li>\n<li>Redirecionando a sa\u00edda para um arquivo de log ou configurando um servidor de e-mail para monitorar tarefas cron de forma mais eficaz.<\/li>\n<\/ul>\n<h2>Compara\u00e7\u00f5es com ferramentas semelhantes<\/h2>\n<p>Existem outros agendadores de tarefas semelhantes ao cron, como anacron e timers systemd. As principais diferen\u00e7as entre eles podem ser resumidas como:<\/p>\n<table>\n<thead>\n<tr>\n<th>Ferramenta<\/th>\n<th>Descri\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Cron<\/td>\n<td>Adequado para tarefas a serem executadas em hor\u00e1rios espec\u00edficos do dia. N\u00e3o executa trabalhos perdidos.<\/td>\n<\/tr>\n<tr>\n<td>Anacron<\/td>\n<td>Adequado para tarefas a serem executadas uma vez por dia\/semanalmente\/mensalmente. Executar\u00e1 trabalhos perdidos quando a m\u00e1quina estiver online novamente.<\/td>\n<\/tr>\n<tr>\n<td>Sistema<\/td>\n<td>Adequado para cen\u00e1rios mais complexos, pois oferece mais op\u00e7\u00f5es e se integra bem com distribui\u00e7\u00f5es Linux modernas.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Perspectivas Futuras e Tecnologias Relacionadas<\/h2>\n<p>\u00c0 medida que os sistemas baseados em Unix continuam a evoluir, o mesmo acontece com o Cron. Apesar do surgimento de agendadores de tarefas mais avan\u00e7ados como o systemd, a simplicidade e o poder do Cron garantem que ele permane\u00e7a em uso comum at\u00e9 hoje.<\/p>\n<p>A tend\u00eancia recente de aplicativos em cont\u00eaineres e arquiteturas de microsservi\u00e7os tamb\u00e9m trouxe novas maneiras de usar o Cron. Por exemplo, Kubernetes, uma plataforma popular de orquestra\u00e7\u00e3o de cont\u00eaineres, possui um recurso conhecido como CronJobs, que \u00e9 semelhante ao Cron em sistemas baseados em Unix.<\/p>\n<h2>Servidores proxy e Cron<\/h2>\n<p>Os servidores proxy podem ser usados de forma eficaz em combina\u00e7\u00e3o com o Cron para automatizar certas tarefas. Por exemplo, se voc\u00ea tiver um script que precisa acessar regularmente um site ou API por meio de um servidor proxy, poder\u00e1 configurar um cron job para executar esse script em intervalos especificados.<\/p>\n<p>O Cron tamb\u00e9m pode ser usado para alternar proxies em intervalos especificados, reduzindo a chance de qualquer proxy ser bloqueado. Por exemplo, os servi\u00e7os de proxy do OneProxy podem ser automatizados com Cron para tarefas como coleta de dados, automa\u00e7\u00e3o de tarefas de m\u00eddia social e muito mais.<\/p>\n<h2>Links Relacionados<\/h2>\n<p>Para obter mais informa\u00e7\u00f5es sobre o Cron, considere os seguintes recursos:<\/p>\n<ul>\n<li><a href=\"https:\/\/man7.org\/linux\/man-pages\/man5\/crontab.5.html\" target=\"_new\" rel=\"noopener nofollow\">P\u00e1gina de manual do Crontab<\/a><\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Cron\" target=\"_new\" rel=\"noopener nofollow\">Cron na Wikip\u00e9dia<\/a><\/li>\n<li><a href=\"https:\/\/www.freebsd.org\/cgi\/man.cgi?query=cron&amp;sektion=8\" target=\"_new\" rel=\"noopener nofollow\">Vixie Cron<\/a><\/li>\n<\/ul>","protected":false},"featured_media":468042,"menu_order":0,"template":"","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"class_list":["post-476476","wiki","type-wiki","status-publish","has-post-thumbnail","hentry"],"acf":{"faq_title":"Frequently Asked Questions about <mark>Cron: A Comprehensive Guide<\/mark>","faq_items":[{"question":"What is Cron?","answer":"<p>Cron is a time-based job scheduling service found in Unix-like operating systems, which allows users to automate tasks to run periodically at fixed times, dates, or intervals.<\/p>"},{"question":"Where did Cron originate from?","answer":"<p>The first implementation of Cron dates back to Version 7 Unix, released in 1979. The term \"cron\" comes from the Greek word for time, \"chronos\". Cron's functionality was later expanded by Paul Vixie in 1987, with this version commonly referred to as \"Cron\" today.<\/p>"},{"question":"How does Cron work?","answer":"<p>Cron operates through a configuration file known as a \"crontab\" file. This file contains one line for each task to be run, consisting of five time and date fields, followed by a command to be run at the specified times.<\/p>"},{"question":"What are the key features of Cron?","answer":"<p>Cron allows tasks to run automatically in the background at regular intervals. It provides a flexible platform to schedule tasks with a variety of time units. Each user can have their own crontab file, and Cron jobs can be scheduled by the minute, hour, day of the week, day of the month, and month of the year.<\/p>"},{"question":"What types of Cron exist?","answer":"<p>Cron jobs can generally be categorized as Reboot, Anacron, System Cron, and User Cron.<\/p>"},{"question":"What are some common problems and solutions with using Cron?","answer":"<p>Common problems with using Cron include high CPU usage and overlooked errors due to Cron only emailing the output of its jobs. These issues can be mitigated by regularly checking for high CPU usage, ensuring commands and scripts run correctly before setting them as cron jobs, and setting up a mail server or redirecting output to a logfile for more effective monitoring.<\/p>"},{"question":"How does Cron compare to other similar tools?","answer":"<p>Cron is suitable for tasks to be run at specific times and does not run missed jobs. In contrast, Anacron is suitable for tasks to be run once daily\/weekly\/monthly and will run missed jobs when the machine is back online. Systemd offers more options and integrates well with modern Linux distributions, making it suitable for more complex scenarios.<\/p>"},{"question":"What is the future of Cron and related technologies?","answer":"<p>As Unix-based systems evolve, so does Cron. The trend towards containerized applications and microservices architectures has introduced new ways to use Cron, like Kubernetes' feature known as CronJobs.<\/p>"},{"question":"How can proxy servers be used with Cron?","answer":"<p>Proxy servers can be used with Cron to automate tasks, such as accessing a website or API through a proxy server at specified intervals. Cron can also be used to rotate proxies at intervals, reducing the chance of any single proxy being blocked.<\/p>"}]},"_links":{"self":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/wiki\/476476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/types\/wiki"}],"version-history":[{"count":0,"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/wiki\/476476\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/media\/468042"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/media?parent=476476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}