automatisches Update

Software besorgen und anwenden
Post Reply
Message
Author
Fat_Fox_no log

automatisches Update

#1 Post by Fat_Fox_no log »

hi@all

seht ihr eine möglichkeit mit nem cron- job oder ähnlichem ein automatisches internetupdate für antivir in bestimmten zeitabständen zu realisieren, als bedingung wäre nur abzufragen ob ne internetverbindung besteht also z.B. soll er alle 14 tage das antivir updaten und zwar dann wenn ich an diesem tag das erste mal mit dem internet verbunden bin, für ideen danke ich euch im vorraus.

Fat_fox_no log

AlexMH

#2 Post by AlexMH »

Das Skript hier verwende ich fuer um Internet updates per cron zu triggern sobald ich mich das erste mal am Tag einwaehle.

-----------------------
#!/bin/sh

TMPFILE="/tmp/internet.tmp"
TODAY=`date +%m%d`
INETISUP=`ifconfig -a | grep -e '^ppp' | wc -l`

LASTCONNECT=0
[ -e ${TMPFILE} ] && LASTCONNECT=`cat ${TMPFILE}`


if [ $INETISUP -eq 1 -a $TODAY -gt $LASTCONNECT ] ; then
echo $TODAY > ${TMPFILE}
echo "Updating Signature Files..."

## hier das update kommando rein
fi
-----------------------

AlexMH

#3 Post by AlexMH »

Noch einen Fehler entdeckt, muss eigentlich:

TODAY=`date +%Y%m%d`

heissen.

Fat_Fox_no log

#4 Post by Fat_Fox_no log »

erstmal besten dank,

könntest du mir vieleicht noch erläutern was das script genau tut, ich bin nemich leider noch am anfang mit linux im allgemeinen und der bash im besonderen und wenn ich deine zeit noch ein wenig mehr strapazieren darf verätst du mir vieleicht auch noch wie ich das ganze dann als cron-job zum laufen bekomme, ich hatte mich nemich etwas belesen und dabei rausgefunden das es sowas wie crons gibt aber mich mit der materie auch noch nicht weiter auseinander gesetzt (weil das samba vorerst wichtiger war *g*)

AlexMH

#5 Post by AlexMH »

Hi,

---
TMPFILE="/tmp/internet.tmp"
---

Dies ist das temporaere File, in dem der Tag der letzten Einwahl gespeichert wird.

---
TODAY=`date +%Y%m%d`
---

Die Variable TODAY enthaelt jetzt das aktuelle Datum im Format YYYYMMDD - also z.B. 20050413.

---
INETISUP=`ifconfig -a | grep -e '^ppp' | wc -l`
---

Prueft ob es ein "ppp" interface gibt. INETISUP enthaelt dann entweder 0 oder eine Zahl groesser gleich 1, falls du 1 oder mehrere PPP Verbindungen am laufen hast.

---
LASTCONNECT=0
[ -e ${TMPFILE} ] && LASTCONNECT=`cat ${TMPFILE}`
---

Wenn unser TMPFILE existiert, dann wird daraus der Tag der letzten Einwahl gelesen. Ansonsten ist LASTCONNECT 0.

---
if [ $INETISUP -eq 1 -a $TODAY -gt $LASTCONNECT ] ; then
echo $TODAY > ${TMPFILE}
fi
---

Wenn ein PPP interface UP ist, also die Internetverbindung steht und der heutige Tag groesser als der Tag des letzten Connects ist, dann aktualisiere unser TMPFILE mit dem neuen Datum. Hier muesste dann dein Update Kommando mit rein.

Wenn du mehrere PPP Verbindungen hast, dann muesste es eigentlich
if [ $INETISUP -ne 0 -a $TODAY -gt $LASTCONNECT ] ; then
heissen, da ja dann mehr als 1 PPP interface up ist.

Gruss,
Alex

AlexMH

#6 Post by AlexMH »

Hier noch der crontab Teil. Hatte vorhin keine Zeit.

Mit 'crontab -e' kannst du deine crontab aus der shell raus bearbeiten. Dabei wird der voreingestellte Editor gestarten. Du kannst aber auch mit 'crontab -l > mycrontab' deine aktuelle crontab in eine datei reinschreiben lassen. Diese Datei kannste dann mit jedem Editor bearbeiten.

In das File kommt dann ein Eintrag nach folgendem Format:

# minute hour monthday month weekday command

Willst du einen Eintrag nicht spezifizieren, dann kommt einfach ein '*' rein.
Zum Beispiel:

Alle x Minuten - Takt angeben z.B. alle 5 Minuten:
*/5 * * * * /pfad/zum/script

Stuendlich - Minute angeben z.B. 30:
30 * * * * /pfad/zum/script

Taeglich - Uhrzeit angeben z.b. 01:30:
30 1 * * */pfad/zum/script

Monatlich - Tag des Monats + Uhrzeit z.B. Jeden 1. um 03:00:
0 3 1 * * /pfad/zum/script

usw. Man kann das immer genauer angeben. Einfach mal in die manpage schauen.

Wenn du alles fertig editiert hast, kannst du deine neue crontab scharf schalten indem du einfach 'crontab mycrontab' eingbist. 'mycrontab' muss halt das File mit all deinen Eintraegen sein.

Gruss,
Alex

Fat_Fox_no log

#7 Post by Fat_Fox_no log »

Vielen Dank...ich werde das gleich mal testen, ich schreibe dann mal rein obs gefunzt hat

Post Reply