Cron non ha il tuo PERCORSO definito, assicurati di chiamare sempre i comandi con il percorso completo, che probabilmente è /usr/local/bin/brew update
Questa è considerata una buona pratica per impedire l'esecuzione di comandi indesiderati/imprevisti. Se qualcuno mettesse uno script dannoso chiamato "brew" da qualche altra parte nel tuo percorso, ma prima di /usr/local/bin, verrebbe invece chiamato.
Un cronjob è una buona opzione, ma non volevo che accadesse automaticamente. Ho trovato uno script che ti avviserà se è disponibile una nuova versione di una formula installata sul tuo Mac.
Ho esteso lo script per non mostrare le formule bloccate nel notificatore.
Ho deciso di utilizzare un launchd-agent per cronjb, perché funziona anche se il Mac viene avviato in un secondo momento. I cron-job vengono eseguiti solo se il tuo mac è già acceso in quel momento.
Per un confronto tra cronjob e launchd, consiglio di leggere questo.
Ecco la mia configurazione che viene eseguita tutti i giorni alle 10:00 e alle 15:00. Lo script, chiamato dall'agente, si trova in /usr/local/bin/homebrew-update-notifier
.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnableGlobbing</key>
<false/>
<key>Label</key>
<string>homebrew.simonsimcity.update-notifier</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/usr/local/bin/homebrew-update-notifier</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/homebrew.simonsimcity.update-notifier.err</string>
<key>StandardOutPath</key>
<string>/tmp/homebrew.simonsimcity.update-notifier.out</string>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Hour</key>
<integer>10</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<dict>
<key>Hour</key>
<integer>15</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</array>
</dict>
</plist>
Verrai ora avvisato se è disponibile un nuovo aggiornamento. Chiama brew upgrade
se ti senti obsoleto, o includilo nello script.