<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Agendamento on /var/log/janio</title><link>https://devops.sarmento.org/tags/agendamento/</link><description>Recent content in Agendamento on /var/log/janio</description><generator>Hugo</generator><language>pt-BR</language><lastBuildDate>Sat, 11 Apr 2026 10:42:07 +0000</lastBuildDate><atom:link href="https://devops.sarmento.org/tags/agendamento/index.xml" rel="self" type="application/rss+xml"/><item><title>Monitorando arquivos e pastas com launchd: WatchPaths na prática</title><link>https://devops.sarmento.org/posts/monitorando-arquivos-e-pastas-com-launchd-watchpaths-na-pratica/</link><pubDate>Thu, 26 Mar 2026 18:56:00 +0000</pubDate><guid>https://devops.sarmento.org/posts/monitorando-arquivos-e-pastas-com-launchd-watchpaths-na-pratica/</guid><description>&lt;p&gt;No &lt;a href="https://devops.sarmento.org/posts/agendando-tarefas-no-macos-com-launchd-sem-cron-sem-gambiarra/"&gt;post anterior sobre launchd&lt;/a&gt;, o agendamento funcionava por horário: o &lt;code&gt;StartCalendarInterval&lt;/code&gt; definia &amp;ldquo;todo dia às 7h&amp;rdquo; e o sistema cuidava do resto, incluindo recuperar execuções perdidas quando o Mac estava dormindo. Para tarefas periódicas como enviar um briefing diário ou rodar um script de manutenção, esse modelo resolve perfeitamente — é o equivalente funcional do cron, mas integrado ao ciclo de vida do macOS.&lt;/p&gt;
&lt;p&gt;Só que nem toda automação faz sentido atrelada a um relógio. Tem tarefas que só precisam acontecer quando alguma coisa muda. Um backup que roda de hora em hora está desperdiçando 23 execuções por dia se o banco de dados só foi alterado uma vez. Uma conversão de imagens que roda a cada 5 minutos não tem o que converter na grande maioria das vezes, e quando finalmente tem, já se passaram até 5 minutos desde que o arquivo apareceu. O modelo baseado em tempo funciona, mas é um polling disfarçado de agendamento — e polling é quase sempre a solução menos elegante para qualquer problema de sincronização.&lt;/p&gt;</description></item><item><title>Agendando tarefas no macOS com launchd (sem cron, sem gambiarra)</title><link>https://devops.sarmento.org/posts/agendando-tarefas-no-macos-com-launchd-sem-cron-sem-gambiarra/</link><pubDate>Mon, 23 Mar 2026 21:29:00 +0000</pubDate><guid>https://devops.sarmento.org/posts/agendando-tarefas-no-macos-com-launchd-sem-cron-sem-gambiarra/</guid><description>&lt;p&gt;No &lt;a href="https://devops.sarmento.org/posts/systemd-timers-hora-de-aposentar-o-cron/"&gt;post anterior&lt;/a&gt; eu mostrei como os systemd timers substituem o cron em servidores Debian e Ubuntu com vantagens concretas: logging integrado, recuperação de execuções perdidas, dependências declarativas e controle de recursos. A lógica é convincente e a migração é direta — desde que você esteja num sistema que roda systemd. Mas se o seu dia a dia inclui um Mac, a história é outra.&lt;/p&gt;
&lt;p&gt;O macOS tem seu próprio sistema de agendamento, anterior ao systemd e com uma filosofia diferente. Ele se chama launchd, existe desde o Mac OS X Tiger em 2005, e é responsável por praticamente tudo que roda em background no sistema — desde serviços internos da Apple até aquele updater do Spotify que você nunca pediu para instalar. Apesar de ser a forma oficial e recomendada de agendar tarefas no Mac, o launchd vive numa espécie de ponto cego: quem vem do Linux tende a procurar o cron por reflexo, e quem usa o Mac sem background em administração de sistemas nem sabe que a possibilidade existe.&lt;/p&gt;</description></item></channel></rss>