Avatar billede tipsen Nybegynder
16. august 2003 - 01:06 Der er 5 kommentarer og
1 løsning

Tricky php-opgave for eksperterne

Hej eksperter

Jeg er træt af at lave manuel opdatering af mit antivirus program (Sophos) i Windows 2000 og tænkte derfor på at få et php-script til at lave arbejdet for mig!

Det som scriptet ideelt set skal kunne:

1. Hent nyeste ide-filer fra http://www.sophos.com/downloads/ide/
2. Udpak zip eller exe filen til C:\Program Files\Sophos SWEEP for NT
3. Genstart servicen "Sophos Anti Virus"

Lidt yderligere forklaring til punkterne:

Ad 1: Det vil være en god ide, hvis scriptet automatisk kan bestemme den version af Sophos man kører eller alternativt kan tage input via kommandolinien (ej webbaseret da det skal kunne kunne styres med task-scheduler!)

Ad 2: Jeg har winzip installeret, hvis det hjælper - eller alternativt kunne man måske give .exe filen en parameter til, hvor filen skal udpakkes?

Ad 3: Dette er nødvendigt for at de nye ide-filer bliver anvendt af anti-virus programmet!

Jeg kaster 200 point for denne opgave og giver point til dem der kommer med smarte tricks og små fancy løsninger :-)

Glæder mig til at se nogle kreative løsningsforslag.

Mvh

tipsen
Avatar billede Lasse Novice
16. august 2003 - 01:29 #1
Har man lov til at lave det i et andet sprog? F.eks. .NET
Avatar billede lap Nybegynder
16. august 2003 - 01:51 #2
Hvorfor ikke bruge det script, som sophos stiller til rådighed - en bat-fil?
Avatar billede lap Nybegynder
16. august 2003 - 01:59 #3
Se http://www.sophos.com/support/faqs/savgeneral.html#3.3 - som benytter sget - det har jeg tidligere sat op uden de store problemer - her er et eksempel:

Echo off
Echo Opdatering startet > SGetIDE.log

c:
cd \scripts\SGetIDE

date /t >> SGetIDE.log
time /t >> SGetIDE.log
sget -i http://www.sophos.com/downloads/ide/ides.zip

If not exist IDE\ides.zip goto fejl

If not exist IDE\lastides.zip goto unzipide
del comp.txt
fc /l IDE\ides.zip IDE\lastides.zip > IDE\comp.txt
find "no differences encountered" IDE\comp.txt
if errorlevel 1 goto diff
if errorlevel 0 goto nodiff
goto end

:diff
Rem Filerne er forskellige
del IDE\lastides.zip
goto unzipide

:unzipide
pkunzip -o IDE\ides.zip unzipped >> SGetIDE.log
copy /y unzipped\*.* "\program files\Sophos SWEEP for NT\" >> SGetIDE.log

ren IDE\ides.zip IDE\lastides.zip
Echo Opdatering afsluttet >> SGetIDE.log
Date /T >> SGetIDE.log
Time /T >> SGetIDE.log
goto end

:nodiff
Echo IDE-Filerne er ens - opdatering ikke nødvendig >> SGetIDE.log
goto end


:fejl
Echo Sget har ikke kunnet downloade de nye ide-filer >> SGetIDE.log

:end

exit

--
Det kræver lidt filer i kataloget: pkunzip.exe sget.exe og Sget.ini
Der mangler en genstart af servicen - net "service" stop og net "service" start
Avatar billede lap Nybegynder
16. august 2003 - 02:00 #4
Dette er et script fra Sophos som afvikles via task scheduler
Avatar billede Slettet bruger
16. august 2003 - 08:10 #5
Det er PHP jo slet ikke beregnet til. Og hvis det var, kunne du jo selv lave det. Hvorfor spørg du?
Avatar billede tipsen Nybegynder
16. august 2003 - 11:45 #6
googolplex: Jeg spørger i PHP fordi det er hvad jeg selv har lidt styr på og gerne vil kunne styre løsningen selv! På den anden side vil en "pæn" løsning som er nem at afvikle i w2k også helt tilfredsstillende.

lap: Det ser fint ud - jeg har dog ikke så meget styr på det dér scripting sprog, men vil da se om jeg kan finde ud af at få det til at fungere!

mercur8: Jeg spørger fordi jeg ikke tidligere har prøvet de delelementer som opgaven består af - jeg ville nok kunne lave en funktionel løsning, men jeg ville også være usikker på om jeg havde lavet det "ordentligt" og ville derfor gerne se, hvilke typer løsninger der poppede op! Dvs. spørgsmålet er ikke så meget for målets skyld som for redskabets skyld - man vil jo gerne lære noget nyt engang i mellem.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester