script fuehrt apt-get upgrade nicht zu Ende

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
fakespace
Beiträge: 154
Registriert: 24.09.2004 11:37:03

script fuehrt apt-get upgrade nicht zu Ende

Beitrag von fakespace » 09.03.2005 08:33:45

Moin


hab mir ein kleines script geschrieben dass ich 2 mal am Tag per cronjob ausfuehre. Es soll eigentlich jedesmal ein "apt-get update" und "apt-get upgrade" machen, und mir dann ein kleines log per eMail schicken.

Code: Alles auswählen

date_tmp=`date '+%a %d.%m.%G %H.%M'`

apt-get update >> /root/upgrade_tmp1.txt
echo "update from $date_tmp" >> /root/upgrade_tmp.txt
echo "                     " >> /root/upgrade_tmp.txt
apt-get upgrade -y -V >> /root/upgrade_tmp.txt
echo "" >> /root/upgrade_tmp.txt
echo "####################################################################################################" >> /root/upgrade_tmp.txt
echo "" >> /root/upgrade_tmp.txt
echo "" >> /root/upgrade_tmp.txt

cat /root/upgrade_tmp1.txt >> /root/mail_body_tmp.txt
echo "" >> /root/mail_body_tmp.txt
cat /root/upgrade_tmp.txt >> /root/mail_body_tmp.txt

mail -a "From: cronjob@server.de" -s "update upgrade from $date_tmp" mir@host.de <mail_body_tmp.txt

cat upgrade_tmp.txt >> upgrade.txt

rm -f upgrade_tmp.txt
rm -f upgrade_tmp1.txt
rm -f mail_body_tmp.txt
Ich weiss, dass es durchaus schoener und effektiver geht, aber das ist mittlerweile die 5. Version, hab immer dran rumgebastelt dass es endlich geht. Das Problem ist: ich bekomme als log die update Liste, und auch etwas wie:
update from Wed 09.03.2005 01.00

Reading Package Lists...
Building Dependency Tree...
The following packages have been kept back:
apache (1.3.33-3 => 1.3.33-4)
apache-common (1.3.33-3 => 1.3.33-4)
apache-dev (1.3.33-3 => 1.3.33-4)
apache-perl (1.3.33-3 => 1.3.33-4)
apache-ssl (1.3.33-3 => 1.3.33-4)
apache-utils (1.3.33-3 => 1.3.33-4)
apache2-common (2.0.52-3 => 2.0.53-5)
apache2-mpm-worker (2.0.52-3 => 2.0.53-5)
libapache-mod-perl (1.29.0.2-17 => 1.29.0.3-4)
lilo (22.6.1-4 => 22.6.1-5)
The following packages will be upgraded:
login (4.0.3-30.9 => 4.0.3-30.10)
passwd (4.0.3-30.9 => 4.0.3-30.10)
2 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.
Need to get 1094kB of archives.
After unpacking 1024B of additional disk space will be used.
Get:1 http://update.pureserver.info unstable/main login 1:4.0.3-30.10 [575kB]
Get:2 http://update.pureserver.info unstable/main passwd 1:4.0.3-30.10 [519kB]
Fetched 1094kB in 4s (261kB/s)
aber er fuehrt das upgrade nicht zu Ende, also er installiert die Packete nicht.
Ich dachte schon daran, ein wait einzufuegen, nach dem "apt-get upgrade", aber das ist ja auch nicht gerade die feine Art, vor allem: wie lange sollte es sein ? Manchmal dauert es 20s bis die Packete installiert sind, manchmal reichen 5s.


Waere nett, wenn einer mir helfen koennte, danke schon mal ;)

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 09.03.2005 09:08:39

Hm, eventuell solltest du

Code: Alles auswählen

apt-get upgrade -y -V
durch

Code: Alles auswählen

apt-get -y -V upgrade
ersetzen, da:

Code: Alles auswählen

apt-get [options] command
die korrekte Syntax waere.

fakespace
Beiträge: 154
Registriert: 24.09.2004 11:37:03

Beitrag von fakespace » 09.03.2005 09:10:27

Hatte ich auch schon, dachte schon, dass waere die Loesung gewesen, da es nich geklappt hat, hab ich es nach hinten gesetzt und so versucht, beides nich ;)

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 09.03.2005 09:26:06

Nimm doch apt-cron.

BTW: Könnte es daran liegen, dass debconf auf eingaben wartet?

fakespace
Beiträge: 154
Registriert: 24.09.2004 11:37:03

Beitrag von fakespace » 09.03.2005 10:21:34

apt-cron hab ich auch schon in Betracht gezogen, hab aber noch zu wenig Informationen darueber, vor allem, weil ich ja nen Status per eMail haben wollte.

Ich denke nicht, dass debconf auf ne Eingabe wartet, dass umgehe ich doch eigentlich mit dem -y ?!

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 09.03.2005 10:34:33

Naja, -y fackelt nur triviale Ja/Nein-Fragen ab.
Teilweise fragt debconf aber einiges mehr ab, auch bei nem Upgrade, wenn ich mich richtig erinner.

fakespace
Beiträge: 154
Registriert: 24.09.2004 11:37:03

Beitrag von fakespace » 09.03.2005 10:36:27

Achso, ja ich weiss, was Du meinst, aber davon unabhaengig geht es trotzdem nicht ;)


Ich such mal nach bisschen Zeug zu cron-apt

Antworten