GNU/Linux >> Tutoriels Linux >  >> Linux

comment mettre à jour homebrew avec Cron sur Mac os

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.


Linux
  1. Comment utiliser Ssh-copy-id avec un tunnel Ssh à sauts multiples ?

  2. Comment générer une demande de signature de certificat (CSR) avec OpenSSL ?

  3. Comment réparer l'erreur GPG No Public Key NO_PUBKEY lors de la mise à jour apt-get

  4. Comment créer un dictionnaire Python

  5. ssh-keygen - comment définir une clé rsa avec un certain nom d'utilisateur

Comment utiliser l'authentification par clé publique avec SSH

Comment générer une clé SSH dans Windows 10

Comment gérer les mots de passe Linux avec la commande pass

Comment activer le retour arrière dans Firefox :pour revenir à la page Web précédente avec la touche de retour arrière

Comment résoudre une clé expirée (EXPKEYSIG) avec Apt

Comment utiliser une clé SSH avec des utilisateurs non root