Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
Sv3n
- Beiträge: 264
- Registriert: 22.07.2013 06:37:52
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: ZH
Beitrag
von Sv3n » 31.03.2018 18:30:12
Hallo ich habe mir ein kleines update und upgrade Script gebastelt. Das Funktioniert auch soweit wenn ich es ausführe. Meine Frage an euch ist, wie kann ich es einstellen das wenn mal ein Fehler bzw. wenn das update/upgrade nicht erfolgreich war das ich den auch im Terminal sehen kann?
Hier mal der Inhalt vom bash Script:
Code: Alles auswählen
#!/bin/bash
#
# -----------------------------------------------------------------------------
# => System update/upgrade
# -----------------------------------------------------------------------------
echo '=> Update Upgrade ausführen?'
echo -e '=> Bist du sicher? [Y/n] '
read confirmation
confirmation=$(echo $confirmation | tr '[:lower:]' '[:upper:]')
if [[ $confirmation == 'YES' || $confirmation == 'Y' ]]; then
apt-get update -y && apt-get upgrade -y
echo 'Update und Upgrade erfolgreich ausgeführt.'
fi
echo
-
rendegast
- Beiträge: 15041
- Registriert: 27.02.2006 16:50:33
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von rendegast » 31.03.2018 18:51:58
Es gibt filigran zu konfigurierendes
unattended-upgrades (wohl default in buster),
dazu
needrestart.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-
Sv3n
- Beiträge: 264
- Registriert: 22.07.2013 06:37:52
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: ZH
Beitrag
von Sv3n » 31.03.2018 19:32:54
Ich wollte eigentlich nur wissen wie ich es hinbekomme das (wenn) eine Meldung erscheint im Terminal.
-
TomL
Beitrag
von TomL » 31.03.2018 20:09:36
Ich gestehe, dass ich die Frage nicht verstehe. Wenn Du das Script im Terminal laufen lässt, werden doch alle Meldungen angezeigt. Ich sehe auch keine Umleitung, also werden doch auf jeden Fall alle Meldungen angezeigt.
-
Sv3n
- Beiträge: 264
- Registriert: 22.07.2013 06:37:52
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: ZH
Beitrag
von Sv3n » 31.03.2018 20:33:21
Ja die Meldungen werden angezeigt, aber wenn mal ein Fehler auftauchen sollte erscheint er auch?
Denn bis Dato hatte ich noch keinen Fehler, und deswegen die Frage.
-
BenutzerGa4gooPh
Beitrag
von BenutzerGa4gooPh » 31.03.2018 20:36:28
Versuche es doch mal ohne Netzwerk.
-
NAB
- Beiträge: 5501
- Registriert: 06.03.2011 16:02:23
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von NAB » 31.03.2018 20:50:48
Mit $? kannst du das Ergebnis des letzten Kommandos abfragen. Ungefähr so:
apt-get update -y && apt-get upgrade -y
ergebnis=$?
if [ $ergebnis == ...
Never change a broken system. It could be worse afterwards.
"No computer system can be absolutely secure." Intel Document Number: 336983-001
-
breakthewall
- Beiträge: 507
- Registriert: 30.12.2016 23:48:51
Beitrag
von breakthewall » 31.03.2018 21:54:13
Design-Vorschlag:
Code: Alles auswählen
#!/bin/bash
#
# -----------------------------------------------------------------------------
# => System update/upgrade
# -----------------------------------------------------------------------------
read -p "=> Upgrade ausführen? [Y/N]" confirmation
case "$confirmation" in
y|Y)
apt update
if apt -y upgrade
then
echo "Upgrade erfolgreich ausgeführt."
exit 0
else
echo "Upgrade wurde mit Fehlern beendet."
exit 1
fi;;
n|N)
echo "Abbruch."
exit 1;;
*)
echo "Ungültige Eingabe. Abbruch."
exit 1;;
esac
-
Sv3n
- Beiträge: 264
- Registriert: 22.07.2013 06:37:52
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: ZH
Beitrag
von Sv3n » 01.04.2018 20:01:24
Erstmal vielen dank für die antworten, damit komme ich schonmal weiter. Wenn noch einer da ist der eine weitere Idee hat, dann her damit.
-
TomL
Beitrag
von TomL » 01.04.2018 20:09:06
Sv3n hat geschrieben: 01.04.2018 20:01:24
Wenn noch einer da ist der eine weitere Idee hat, dann her damit
Nur ein Hinweis... so ins Blaue geschossen... weil nicht wirklich bekannt ist, was Du eigentlich vorhast. Du kannst dieses Script nicht per Crontab oder rc.local starten. Und Du solltest es auch nicht per autostart des Desktop-Environments starten. Es ist vorhersehbar, dass Dir dann auf kurz oder lang alles um die Ohren fliegt. Wenn das Script "mannlos" und automatisch laufen soll, sind noch einige Aspekte zu bedenken... und imho fehlt dazu noch beträchtliches an Job-Logik zur Kontrolle und Nachverfolgung.
-
Sv3n
- Beiträge: 264
- Registriert: 22.07.2013 06:37:52
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: ZH
Beitrag
von Sv3n » 01.04.2018 21:00:00
Ja ich weiß das das per Cron nicht geht, weil ich es ja auch mit Y bestätigen muss.