Update-Skript - Fehler?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
mrserious
Beiträge: 270
Registriert: 22.06.2013 12:12:03

Update-Skript - Fehler?

Beitrag von mrserious » 11.03.2015 18:29:21

Hallo!

Habe ein Skript geschrieben, das per cron aufgerufen wird und mein System automatisch patchen soll.
Leider wird das Skript zwar eigenständig aufgerufen, die Updates werden aber dennoch nicht installiert.
Wo liegt mein Fehler?

Code: Alles auswählen

#!/bin/bash

/usr/bin/apt-get update && /usr/bin/apt-get autoclean && /usr/bin/apt-get autoremove && /usr/bin/apt-get dist-upgrade -y


uname
Beiträge: 12402
Registriert: 03.06.2008 09:33:02

Re: Update-Skript - Fehler?

Beitrag von uname » 11.03.2015 18:30:58

Ich rate mal von deiner Lösung ab und empfehle Debianunattended-upgrades entsprechend http://debianforum.de/forum/viewtopic.php?t=154223

Zum Problem:
Könnte sein, dass irgendein Programm kein "true" zurückliefert, daher der Ausdruck nicht mehr "true" werden kann und somit der Rest erst gar nicht ausgeführt wird.

Tripp
Beiträge: 36
Registriert: 12.08.2013 15:12:50

Re: Update-Skript - Fehler?

Beitrag von Tripp » 11.03.2015 18:38:50

Ich würde auch eher zu der anderen methode raten, aber ich glaube der fehler leigt hier

Code: Alles auswählen

/usr/bin/apt-get autoremove
da sollte glaube ich auch ein -y mitgegeben werden, da hier die abfrage kommt, ob man die pakete wirklich entfernen möchte.

Code: Alles auswählen

/usr/bin/apt-get update && /usr/bin/apt-get autoclean && /usr/bin/apt-get autoremove -y && /usr/bin/apt-get dist-upgrade -y

mrserious
Beiträge: 270
Registriert: 22.06.2013 12:12:03

Re: Update-Skript - Fehler?

Beitrag von mrserious » 11.03.2015 19:17:47

Ok, danke soweit für eure Tipps!
Warum eine andere Methode?

Gerade mal modifiziert, damit läuft es aber trotzdem nicht (selbstständig).
Von Hand ausgeführt spielt es die Patches dann wunderbar ein.

Code: Alles auswählen

#!/bin/bash

/usr/bin/apt-get update && /usr/bin/apt-get autoclean && /usr/bin/apt-get autoremove -y && /usr/bin/apt-get dist-upgrade -y

Benutzeravatar
PatrickX
Beiträge: 21
Registriert: 17.02.2015 18:54:19

Re: Update-Skript - Fehler?

Beitrag von PatrickX » 11.03.2015 22:02:26

mrserious hat geschrieben:Ok, danke soweit für eure Tipps!
Warum eine andere Methode?
Weil Du Dir damit Dein System zerschießen kannst.
Es hängt natürlich auch ein wenig davon ab, welche Paketquellen Du eingestellt hast. Wenn die eng definiert sind, dann mag das eine Zeit lang gut gehen.
mrserious hat geschrieben: Gerade mal modifiziert, damit läuft es aber trotzdem nicht (selbstständig).
Von Hand ausgeführt spielt es die Patches dann wunderbar ein.
Wie sieht denn Deine cron-Zeile aus?

mrserious
Beiträge: 270
Registriert: 22.06.2013 12:12:03

Re: Update-Skript - Fehler?

Beitrag von mrserious » 11.03.2015 22:37:21

Hm, ich war auch lange skeptisch, was die Automatisierung dessen angeht.
Allerdings habe ich seit Jahren nie auch nur ein Problem gehabt. Das mag aber auch daran liegen, dass ich nur Original-Paketquellen verwende.
Und da macht's dann keinen Unterschied, ob ich die Sachen von Hand einpflege oder eben per Skript.

Die cron-Zeile hat gestimmt, laut Log wurde das Skript definitiv ausgeführt.

Code: Alles auswählen

17 15  * * *        /server/patches.sh

uname
Beiträge: 12402
Registriert: 03.06.2008 09:33:02

Re: Update-Skript - Fehler?

Beitrag von uname » 12.03.2015 08:28:27

Wie gesagt schau dir z.B. Debianunattended-upgrades an. Man muss nicht alles neu erfinden.

Benutzeravatar
CH777
Beiträge: 1466
Registriert: 27.05.2008 16:37:17

Re: Update-Skript - Fehler?

Beitrag von CH777 » 12.03.2015 09:25:49

Vielleicht ein Berechtigungsproblem? Bist du sicher, dass das Script von cron mit root-Rechten ausgeführt wird?

pferdefreund
Beiträge: 3799
Registriert: 26.02.2009 14:35:56

Re: Update-Skript - Fehler?

Beitrag von pferdefreund » 12.03.2015 19:40:41

Sowas mache ich schon seit Jahren. Nie ein Problem gehabt und das bei Uptimes von über 180 Tagen. Verwende allerdings nur stabl.e

mrserious
Beiträge: 270
Registriert: 22.06.2013 12:12:03

Re: Update-Skript - Fehler?

Beitrag von mrserious » 12.03.2015 21:55:06

Sagen wir so:
Andere Skripte, die ich auf die Weise per cron laufen lasse funktionieren. Und da sind Sachen dabei, die ohne Root-Rechte garantiert nicht laufen würden.

@Pferdefreund: Wie hast du das ganze denn gelöst?

Benutzeravatar
Phineas
Beiträge: 354
Registriert: 20.06.2012 20:26:19

Re: Update-Skript - Fehler?

Beitrag von Phineas » 13.03.2015 04:22:04

Du kannst Logs schreiben lassen:

Code: Alles auswählen

#!/bin/bash

exec >std.log 2>err.log

/usr/bin/apt-get update && /usr/bin/apt-get autoclean && /usr/bin/apt-get autoremove -y && /usr/bin/apt-get dist-upgrade -y
Namen und Pfade ggf. anpassen.

Benutzeravatar
The Hit-Man
Beiträge: 2222
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Re: Update-Skript - Fehler?

Beitrag von The Hit-Man » 13.03.2015 05:49:12

#!/bin/bash

exec >std.log 2>err.log

/usr/bin/apt-get update && /usr/bin/apt-get autoclean && /usr/bin/apt-get autoremove -y && /usr/bin/apt-get dist-upgrade -y
never change a runnig system !!!

EDIT: unter debian schon gar nicht !!!
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

mrserious
Beiträge: 270
Registriert: 22.06.2013 12:12:03

Re: Update-Skript - Fehler?

Beitrag von mrserious » 13.03.2015 09:08:21

Naja, The Hit-Man, da gebe ich dir ansich recht.
Aber ich kann ein Router-System, das als erste Instanz direkt am Internet hängt nicht ungepatched lassen.
Außerdem hatte ich in knapp 10 Jahren mit Debian nie auch nur ein Problem mit einem Update.

Mensch... auf die Logs hätte ich auch kommen sollen, danke!

mrserious
Beiträge: 270
Registriert: 22.06.2013 12:12:03

Re: Update-Skript - Fehler?

Beitrag von mrserious » 15.03.2015 10:49:22

Habe mir unattended-upgrades gerade mal angesehen und erkenne keinen Vorteil ggü meines schlichten Skripts.

Leider gibt es gerade keine Updates einzuspielen, daher erkenne ich nicht, ob mein Skript nun fehlerfrei läuft.
Habe den oben vorgeschlagenen Log-Eintrag mal mit reingesetzt. Noch bleibt das Log natürlich leer.

Laut ps aux und syslog wird das Skript aber auf jeden Fall zu den angegebenen Zeiten ausgeführt.

Antworten