GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So aktualisieren Sie Homebrew mit Cron unter Mac OS

Cron hat Ihren PATH nicht definiert, stellen Sie sicher, dass Sie Befehle immer mit dem vollständigen Pfad aufrufen, der wahrscheinlich /usr/local/bin/brew update ist

Dies wird als bewährte Methode angesehen, um zu verhindern, dass unerwünschte/unerwartete Befehle ausgeführt werden. Wenn jemand ein bösartiges Skript mit dem Namen „brew“ an einer anderen Stelle in Ihren Pfad einfügen würde, aber vor /usr/local/bin, würde es stattdessen aufgerufen werden.


Ein Cronjob ist eine gute Option, aber ich wollte nicht, dass es automatisch passiert. Ich habe ein Skript gefunden, das Sie benachrichtigt, wenn eine neue Version einer auf Ihrem Mac installierten Formel verfügbar ist.

Ich habe das Skript so erweitert, dass angeheftete Formeln nicht im Notifier angezeigt werden.

Ich habe mich für einen Launchd-Agenten für das cronjb entschieden, da dieser auch läuft, wenn Mac später gestartet wird. Cron-Jobs werden nur ausgeführt, wenn Ihr Mac zu diesem Zeitpunkt bereits eingeschaltet ist.

Für einen Vergleich zwischen cronjob und launchd empfehle ich die Lektüre dieses Artikels.

Hier ist meine Konfiguration, die jeden Tag um 10 und 15 Uhr ausgeführt wird. Das vom Agent aufgerufene Skript befindet sich unter /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>

Sie werden nun benachrichtigt, wenn ein neues Update verfügbar ist. Rufen Sie brew upgrade an wenn Sie sich veraltet fühlen, oder nehmen Sie es in das Skript auf.


Linux
  1. So verwenden Sie SSH-Schlüssel mit Plesk

  2. Wie erstelle ich eine Certificate Signing Request (CSR) mit OpenSSL?

  3. So beheben Sie den GPG-Fehler „Kein öffentlicher Schlüssel NO_PUBKEY“ während des apt-get-Updates

  4. ssh-keygen - So legen Sie einen RSA-Schlüssel mit einem bestimmten Benutzernamen fest

  5. So entschlüsseln Sie eine Ecryptfs-Datei mit einem privaten Schlüssel anstelle einer Passphrase

So verwenden Sie die Public-Key-Authentifizierung mit SSH

So generieren Sie einen SSH-Schlüssel in Windows 10

So verwalten Sie Linux-Passwörter mit dem Pass-Befehl

So aktivieren Sie die Rücktaste in Firefox:So kehren Sie mit der Rücktaste zur vorherigen Webseite zurück

So lösen Sie einen abgelaufenen Schlüssel (EXPKEYSIG) mit Apt

So verwenden Sie einen SSH-Schlüssel mit Nicht-Root-Benutzern