Cron n'a pas défini votre PATH, assurez-vous de toujours appeler les commandes avec le chemin complet, qui est probablement /usr/local/bin/brew update
Ceci est considéré comme une bonne pratique pour empêcher l'exécution de commandes indésirables/inattendues. Si quelqu'un plaçait un script malveillant appelé 'brew' ailleurs dans votre chemin, mais avant /usr/local/bin, il serait appelé à la place.
Un cronjob est une bonne option, mais je ne voulais pas que cela se produise automatiquement. J'ai trouvé un script qui vous avertira si une nouvelle version d'une formule installée sur votre Mac est disponible.
J'ai étendu le script pour ne pas afficher les formules épinglées dans le notificateur.
J'ai décidé d'utiliser un launchd-agent pour le cronjb, car cela fonctionne également si Mac est démarré plus tard. Les tâches cron ne s'exécutent que si votre mac est déjà allumé à ce moment-là.
Pour une comparaison entre cronjob et launchd, je vous recommande de lire ceci.
Voici ma configuration qui tourne tous les jours à 10h et 15h. Le script, appelé par l'agent, est situé en /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>
Vous serez maintenant averti si une nouvelle mise à jour est disponible. Appelez le brew upgrade
si vous vous sentez obsolète, ou incluez-le dans le script.