• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Download mit wget per Script, exit wenn ...

Hallo,

leider habe ich so gut wie keine Ahnung von Scripten, daher hier die Bitte um Hilfe!

Ein existierendes Script prüft mittels "wget -N URL/Filename", ob es neue Blacklists für den Proxyserver gibt.

Stimmt der Zeitstempel mit der lokalen Datei überein, soll das Script abbrechen; ist die Blacklistdatei im Internet neueren Datums, soll das Script vollständig abgearbeitet werden, also downloaden, auspacken, Squid neu starten.

Um welche Einträge muss ich das Script erweitern?

Vielen Dank im Voraus!

Gruß
Martinelli
 

gameboy

Hacker
Hallo martinelli,

martinelli schrieb:
Um welche Einträge muss ich das Script erweitern?
woher sollen wir das wissen, wenn wir das Skript nicht kennen?

Wenn das Skript nur aus ein paar Zeilen besteht, dann setz es doch hier rein. Und wenn es sich um ein langes Skript handelt, kannst Du es z.B. hier unterbringen und dann verlinken.

Viele Grüße,
gameboy.
 
OP
M

martinelli

Newbie
Hallo gameboy,

gegen eine Veröffentlichung des Scriptes spricht natürlich nichts, allerdings bin ich der Meinung, dass die relevante Information in meinem Posting enthalten ist.

Es geht lediglich um den Eintrag, der nach "wget -N ..." folgen muss, wenn nämlich "-N" ergibt, dass die Datei im Internet genauso alt ist wie die lokale und das Script - egal was danach noch folgt - an dieser Stelle abgebrochen werden soll.


Gruß
martinelli
 

Stefan Staeglich

Advanced Hacker
Wenn du so mitteilsam bist, solltest du eigentlich auch die manpage lesen können.
Aber egal, erst wechseln wir ins Zielverzeichnis und lassen dann folgenden Befehl ausführen:
Code:
wget -nd --mirror URL
 
OP
M

martinelli

Newbie
Ok ok, überzeugt ... :)

Hier das Script:

------------------------------------------------------------------------------
#!/bin/sh
...
# download latest file - overwrite any existing file
wget -N http://www.....de/Downloads/xyzlist.tar.gz -a /var/log/xyz.log


=> und hier soll das Script abbrechen, wenn keine neuere xyz.list.tar.gz zum Download bereit steht!


# extract blacklists
tar -zxf xyzlist.tar.gz
# copy blacklists to db home
cp -R /root/squidguard/BL/* /var/lib/squidGuard/db
# create whitelist directory and copy files
mkdir /var/lib/squidGuard/db/white
cp -R /root/squidguard/white/* /var/lib/squidGuard/db/white
/usr/sbin/squidGuard -C all
chown squid:nogroup /var/lib/squidGuard/db/*/*.db
chown squid:nogroup /var/lib/squidGuard/db/*/*/*.db
rcsquid restart
rm -Rf /root/squidguard/BL
------------------------------------------------------------------------------------
 

Stefan Staeglich

Advanced Hacker
#!/bin/sh

date=$(date -r xyz.list.tar.gz)

# download latest file - overwrite any existing file
wget -N http://www.....de/Downloads/xyzlist.tar.gz -a /var/log/xyz.log


=> und hier soll das Script abbrechen, wenn keine neuere xyz.list.tar.gz zum Download bereit steht!


if [ $date != $(date -r xyz.list.tar.gz) ] ; then


# extract blacklists
tar -zxf xyzlist.tar.gz
# copy blacklists to db home
cp -R /root/squidguard/BL/* /var/lib/squidGuard/db
# create whitelist directory and copy files
mkdir /var/lib/squidGuard/db/white
cp -R /root/squidguard/white/* /var/lib/squidGuard/db/white
/usr/sbin/squidGuard -C all
chown squid:nogroup /var/lib/squidGuard/db/*/*.db
chown squid:nogroup /var/lib/squidGuard/db/*/*/*.db
rcsquid restart
rm -Rf /root/squidguard/BL

fi

-----------------------------------------------------------------------------------

So könnte es funktionieren. Ich verschiebe übrigens mal nach Konsole, da paßt das Thema IMHO besser hin. Squid hat damit ja nur bedingt was zu tun.
 
OP
M

martinelli

Newbie
Hallo Stefan,

vielen Dank, teilweise funktioniert es, leider ist aber noch etwas nicht in Ordnung. Die mit "if" beginnende Zeile wird immer mit "Too many arguments" angemeckert.

Was könnte es sein?

Gruß
martinelli
 
OP
M

martinelli

Newbie
Hallo Stefan,

ich habe noch das ! vor das = gesetzt und nun funktioniert es genaus so, wie ich es haben wollte, vielen herzlichen Dank!

Gruß
martinelli
 

Stefan Staeglich

Advanced Hacker
Oh, das muß wohl beim Kopieren und Anpassen verloren gegangen sein. Es freut mich jedenfalls, daß dein Script jetzt funktioniert. Aber setz bitte noch ein [gelöst] vor den Threadtitel.
 
Oben