<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Launchd on /var/log/janio</title><link>https://devops.sarmento.org/tags/launchd/</link><description>Recent content in Launchd 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/launchd/index.xml" rel="self" type="application/rss+xml"/><item><title>Apagando e-mails automaticamente no Apple Mail com AppleScript + launchd</title><link>https://devops.sarmento.org/posts/apagando-e-mails-automaticamente-no-apple-mail-com-applescript-launchd/</link><pubDate>Mon, 30 Mar 2026 20:24:00 +0000</pubDate><guid>https://devops.sarmento.org/posts/apagando-e-mails-automaticamente-no-apple-mail-com-applescript-launchd/</guid><description>&lt;p&gt;Minha caixa de entrada vive cheia de notificações com assunto no formato &lt;code&gt;[Ticket ID: 12345] Atualização do chamado&lt;/code&gt;. Elas são úteis por algumas horas e depois viram ruído. Não são e-mails que precisam ser arquivados, respondidos ou revisitados, então acabam só ocupando espaço mental.&lt;/p&gt;
&lt;p&gt;Apagar manualmente é aquele tipo de tarefa pequena que nunca vira prioridade, mas que cobra juros em distração. Então resolvi tratar como qualquer outro problema recorrente: automatizar localmente, sem depender de serviço externo, sem &lt;em&gt;webhook&lt;/em&gt; e sem integrações. A ideia é rodar periodicamente um script que mova para o lixo as &lt;a href="https://devops.sarmento.org/experiencias-com-mensagens-subliminares/"&gt;mensagens&lt;/a&gt; cujo assunto contenha um padrão específico e que tenham mais de 48 horas.&lt;/p&gt;</description></item><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>