Pohled na Server:
Musí se zajistit stahování aktualizace do nejakého společného adresáře a vygenerování souboru avg6info.ct, k čemuž použijeme utilitu GenCTF a Wget (jak pod Linuxem*, tak pod Windows).
V mém případě se server jmenuje Dwarf. Takže máme např. \\DWARF\public\avg.
V něm najdeme např. tyto soubory:
V:\avg>dir /b update.txt url6cz d602s6wd.bin d602s3e9.bin avg6info.ctf
(* k Linuxu budeme potřebovat ještě něco málo kilo Samby, abychom viděli linux z Woken).
Aktualizaci zajistíme tak, že si vyrobíme dávku s následujícími příkazy (Linux):
[cejvik@dwarf]$ cat bin/avgupd #!/bin/bash cd /usr/var/samba/avg/ # update AVG - rozdilova wget -O url6cz -o update.txt "http://www.grisoft.cz/php/update.php3?avg=6&lng=cz&req=1" wget -N -i url6cz -a update.txt # update AVG - uplna wget -O url6cz -a update.txt "http://www.grisoft.cz/php/update.php3?avg=6&lng=cz&req=0" wget -N -i url6cz -a update.txt # generator - příkaz rm smaže soubor rm avg6info.ctf >/dev/null /home/cejvik/bin/genctf *.bin >/dev/null
Toto necháme pravidelně tak často, jak často chceme ověřovat existenci novější aktualizace (např. denně ve 4:00 ráno), automaticky pouštět (Plánovač úloh, Cron, cvičený pes, tchýně, …). Takto by se nám ale soubory hromadily a bylo by jich zbytečně moc. Zase na druhou stranu, pokaždé je mazat by bylo zbytečným zatěžováním linky, providera, serveru Grisoft a bůh ví, čeho ještě. Proto obdobným způsobem ještě každou sobotu těsně před aktualizací spouštím příkaz RM (nebo DEL) *.bin, který soubory smaže, a mám zajištěno následné stažení. V sobotu bývají linky nejméně zatížené. Asi proto, že stejně nikdo nepracuje :).
Tak máme vyřešený server a teď se podívejme na klientskou (Win) část:
Tady jsem si pomohl dávkou startup.bat, kterou mám vyodkazovanou z \Nabídka Start\Programy\Po spuštění a obsahuje „jen“ dva příkazy:
net use U: \\DWARF\user mojeheslo /savepw:no /yes U:\bin\login.bat
čímž zajistím spuštění hlavní dávky. Dělám to přes dvě dávky kvůli ošetření příkazů při výpadku serveru. Soubor Login.bat obsahuje toto:
@echo off net use V: \\DWARF\public /yes net time \\Dwarf /set /yes cd "c:\PROGRAM FILES\GRISOFT\AVG6\UPDATE" V: cd \avg for %%a in (*.bin) do if not exist "C:%%a" copy "%%a" C: c: del avg6info.ctf copy V:avg6info.ctf C: for %%a in (*.bin) do if not exist "V:%%a" DEL "%%a" ..\AVGSCAN.EXE /update
A to je úplně všechno. Netřeba doufám připomínat, že si to musíte upravit podle vlastní konfigurace, a pokud vám něco nepojede, zkoušet tak dlouho, dokud to pojede, nebo nepojede nic :)