Hey Leute
Hoffe ihr hattet einen gemütlichen Weihnachtsabend.
Ich hab mir mal aus Lernzwecken ein Script geschrieben welches mich über anstehende Updates informiert. Das klappt soweit ganz gut, nur frage ich mich wie ich den Code noch optimieren/verschönern kann?
Es wird alle 24h nach einem Reboot ausgeführt.
#!/bin/bash
mkdir -p /home/pi/logs
# Falls Log vorhanden, lese aus, sonst setze Counter auf 0
if [ -f /home/pi/logs/update.log ]
then
let "counter=$(cat /home/pi/logs/update.log)"
else
let "counter=0"
fi
# Falls Log leer war oder keine Zahl beinhaltete, Counter auf 0 setzen.
if ! [[ "$counter" =~ ^[0-9]+$ ]]
then
let "counter=0"
fi
# Zähle verfügbare Updates
let "anzahl=$(aptitude search '~U' | wc -l)"
# Ist die Anzahl Updates grösser als der Counter muss es neue geben. Führe Befehl aus und setze Counter=Anzahl
if [ $anzahl -gt $counter ]
then
counter=$anzahl
# Befehl um Telegramnachricht zu schicken oder was man auch immer gerne möchte.
fi
# Ist der Counter grösser als die Anzahl Updates wurden diese installiert, reset
if [ $counter -gt $anzahl ]
then
let "counter=0"
fi
# Schreibe den Counter in die Log-Datei
if [ -e "/home/pi/logs/update.log" ]
then
echo $counter > /home/pi/logs/update.log
else
echo $counter >> /home/pi/logs/update.log
fi
exit 0
Alles anzeigen
Auch bin ich mir nicht ganz sicher ob aptitude sowohl Paketlisten und Updates abruft oder nur letzteres. Evt kann mir da jemand Auskunft geben?
Ich hab auch noch nach einer Möglichkeit gesucht die Namen der Pakete auszulesen die geupdated werden sollen, hab da jedoch nichts gefunden. Gibt es da eine Möglichkeit dies mit einfachen Befehlen oder Pipes auszulesen (Also nicht gleich ein Script für sich)?
Die Namen möchte ich dann mit einer selbst erstellen Liste von Paketen vergleichen welche z.b. für FTP, VPN, PiHole ect verwendet werden. Falls ein oder mehrere Namen übereinstimmen möchte ich mir eine entsprechende Warnung zukommen lassen damit ich erst ein Backup erstellen kann oder dies evt sogar selbstständig ausgelöst wird, da überleg ich noch ob das Sinnvoll ist.
Bitte dazu noch nichts spoilern möchte mich da selber rantasten. Sollte ich bezüglich auslesen und vergleichen der Liste noch Fragen haben werde ich mich melden ;).
Grüsse Apop.