Updates per Shell Script überprüfen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von SiS, 12.04.2009.

  1. SiS

    SiS Routinier

    Dabei seit:
    12.02.2007
    Beiträge:
    318
    Zustimmungen:
    0
    Hallo erstmal,

    also ich hab bisher leider überhaupt keine richtige Erfahrung was ShellScripts angeht.

    Im moment bin ich auf der Suche nach nem Script, welches auf meinem Homeserver in regelmäßigen abständen überprüft ob Updates vorhanden sind.
    So was ich mir schonmal überlegt habe wie das in etwa funktionieren soll:
    1. Das ganze per Cronjob in regelmäßigen Abständen aufrufen.
    2. per "pacman -Sy" Paketquellen aktuallisieren und mit "pacman -Qyu" auf Updates prüfen

    Bei pacman -Qyu ist die Ausgabe wie folgt:
    Code:
    # pacman -Qyu
    Checking for package upgrades...
    no upgrades found.
    
    Oder wenn Updates verfügbar sind so:
    Code:
    ~$ pacman -Qyu
    Checking for package upgrades...
    
    Targets (24): avahi-0.6.24-3 [0.72 MB]  coreutils-7.2-1 [4.08 MB]  glib2-2.20.1-1 [2.32 MB]  hdparm-9.14-1 [0.05 MB]  kbproto-1.0.3-2 [0.02 MB]  kernel26-2.6.29.1-3 [29.69 MB]  kernel26-firmware-2.6.29-1 [0.38 MB]
                  klibc-udev-141-1 [0.10 MB]  libcap-2.16-3 [0.03 MB]  libx11-1.2.1-1 [2.73 MB]  lighttpd-1.4.22-3 [0.28 MB]  m4-1.4.13-1 [0.15 MB]  man-db-2.5.5-1 [0.68 MB]  man-pages-3.20-1 [4.32 MB]  mdadm-2.6.9-1 [0.42 MB]
                  mpfr-2.4.1-1 [0.37 MB]  pacman-mirrorlist-20090405-1 [0.00 MB]  php-5.2.9-3 [8.68 MB]  samba-3.3.3-1 [22.99 MB]  smbclient-3.3.3-1 [14.65 MB]  syslog-ng-3.0.1-6 [0.82 MB]  tdb-3.3.3-1 [0.13 MB]  tzdata-2009e-1 [0.55 MB]
                  udev-141-1 [0.24 MB]
    
    Total Download Size:    0.00 MB
    Total Installed Size:   282.39 MB
    
    3. Wenn Updates verfügbar sind wird per "mail ..." eine Email an mich versendet! Möglichst mit der Ausgabe von "pacman -Qyu"


    Mein Problem ist jetzt hauptsächlich die Bedinung die überprüft ob Updates verfügbar sind. Unteranderem da die Ausgabe mehrzeilig ist.
    Den Rest müsste ich vermutlich noch selber hinbekommen...

    PS: Kann vielleicht jemand ein Tutorial besonders empfehlen, welches sich mit dem Thema Shell-Scripting beschäftigt?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bitmuncher, 12.04.2009
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
  4. Rvg

    Rvg Doppel-As

    Dabei seit:
    11.07.2004
    Beiträge:
    141
    Zustimmungen:
    0
    Code:
    pacman -Qyu | grep "no upgrades found" > /dev/null 2>&1
    und dann nach dem rueckgabewert $? entscheiden

    wenn du die mail dann nicht noch aufhybschen willst:
    Code:
    pacman -Qyu | mail -s upgrades spam@example.org
     
  5. #4 SiS, 12.04.2009
    Zuletzt bearbeitet: 12.04.2009
    SiS

    SiS Routinier

    Dabei seit:
    12.02.2007
    Beiträge:
    318
    Zustimmungen:
    0
    @bitmuncher: Danke für die Links. Dabei kann ich dann auch gleich nochmal was für mein Englisch tun :)

    @Rvg:
    Gut Danke schonmal. Werd mal ausprobieren mir damit was zu basteln...
    Ich meld mich dann nochmal jenachdem, ob es klappt oder nicht...
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    So hab mich gerade mal dran gesetzt. War ja doch gar nicht so schwer, mit dem von Rvg genannten Tipp.

    So wie ich es probiert habe sollte es eigentlich laufen, muss aber noch warten bis wirklich mal Updates reinkommen.

    Hab zusätzlich noch ne Abfrage reingehauen die überprüft ob schon mal ne Mail gesendet wurde:

    Code:
    #!/bin/bash
    pacman -Sy > /dev/null
    pacman -Qyu | grep "no upgrades found" > /dev/null 2>&1
    if [ "$?" = "1" ]; then
            test -f updatenotifysent
            if [ "$?" = "1" ]; then
                    pacman -Qyu | mail -s "[Server] Updates verfuegbar" chris@localhost
                    touch updatenotifysent
            fi
    else
            rm updatenotifysent
    fi
    
     
  6. SiS

    SiS Routinier

    Dabei seit:
    12.02.2007
    Beiträge:
    318
    Zustimmungen:
    0
    So nochmal. Es funktioniert!
    Hab allerdings noch eine Kleinigkeit geändert, damit mir crond nicht alle 10 minuten sagt, dass der rm Befehl nicht geklappt hat.

    Code:
    #!/bin/bash
    pacman -Sy > /dev/null
    pacman -Qyu | grep "no upgrades found" > /dev/null 2>&1
    if [ "$?" = "1" ]; then
            test -f updatenotifysent
            if [ "$?" = "1" ]; then
                    pacman -Qyu | mail -s "[Server] Updates verfuegbar" chris@localhost
                    touch updatenotifysent
            fi
    else
            test -f updatenotifysent
            if [ "$?" = "0" ]; then
                    rm updatenotifysent
            fi
    fi
    
    Wenn jemand noch was findet, was man schöner machen könnte dann bitte Posten...
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    test kann auch direkt die existenz des files abfragen
    so geht's auch
    Code:
    if [ -f updatenotifysent ] ; then
       rm updatenotifysent
    fi
    
    genauso weiter oben.
    Dein Ansatz, wie er jetzt ist, funktioniert auch, aber ist etwas "umständlich", finde ich.
    siehe auch
    Code:
    # man test
    
     
  9. Akendo

    Akendo 4k3nd0

    Dabei seit:
    05.02.2008
    Beiträge:
    396
    Zustimmungen:
    0
    Tip du kannst auch die rm Fehlermeldung noch umleiten.
     
Thema:

Updates per Shell Script überprüfen

Die Seite wird geladen...

Updates per Shell Script überprüfen - Ähnliche Themen

  1. Niederländische Konsumentenvereinigung verklagt Samsung wegen fehlender Android-Updates

    Niederländische Konsumentenvereinigung verklagt Samsung wegen fehlender Android-Updates: Die niederländischen Verbrauerschützer vom »Consumentenbond« haben Samsung verklagt, um den Hersteller zu zwingen, seine Smartphones zeitgerecht...
  2. Dell bietet automatisierte Firmware-Updates unter Linux

    Dell bietet automatisierte Firmware-Updates unter Linux: Dell unterstützt unter Linux künftig Firmware-Updates direkt aus dem laufenden System heraus, wie das seit Fedora 23 möglich ist. Weiterlesen...
  3. UEFI 2.5 bringt einfache BIOS/UEFI-Updates auch für Linux

    UEFI 2.5 bringt einfache BIOS/UEFI-Updates auch für Linux: Aktualisierungen des BIOS waren und sind unter Linux immer eine waghalsige Angelegenheit, wenn man nicht einen Mainboard-Hersteller erwischt, der...
  4. Fedora mit Problem bei Paket-Updates

    Fedora mit Problem bei Paket-Updates: Die Paketverwaltung von Fedora 21 weist einige Fehler auf, die den Standardweg des Paket-Updates scheitern lassen können. Auf der Kommandozeile...
  5. FreeNAS 9.3 mit neuem Updatessystem und aufgeräumter Oberfläche

    FreeNAS 9.3 mit neuem Updatessystem und aufgeräumter Oberfläche: Die freie NAS-Lösung FreeNAS ist in der Version 9.3 erschienen. Die Entwickler implementierten zahlreiche Neuerungen und behoben nahezu tausend...