[linux]Re: [linux] goto a bash
michal lackovic
twix na seznam.cz
Středa Srpen 27 09:42:36 CEST 2003
Zdravim,
dobre nechajme teda horlive diskusie. Ja v podstate so skriptovanim este len zacinam. Zda sa mi ze ako spravca si mozem so skriptami vela veci ulahcit a pritom sa nemusim zaoberat studovanim programovacich jazykov...:-)..
tu je ten skript v ktorom by som rad pouzil "goto" po splneni podmienok. Ak mate chut a cas na nejake pripomienky budem vam vdacny. Nezabudajte, ze so skripovanim len zacinam :)
Jadna sa mi o to, aby v pripade, ze subor nav.exe existuje a ja ho nezmazem, skocil skript na cast kde sa uploadne na servery.
Dakujem
miso
#!/bin/bash
# Aktulazicia Norton antiviru
#
# Potrebne programy: wget,ncftpput,Xdialog
#Xdialog --title Aktualizacia antiviru --msgbox "Aktualizacia antiviru bola spustena uzivatelom `whoami`" 0 0 20 &
#Vymazanie logovacieho suboru
rm -f nav.log
#podmienky : Ak nav.exe existuje tak sa program spyta ci ho ma vymazat alebo nahrat na vzdialene pocitace
if test -f /home/nav/nav.exe
then
DATE=`ls -all nav.exe`
if Xdialog --title Aktualizacia antiviru --yesno "Subor nav.exe existuje s atributmi $DATE. Mam tento subor zmazat? " 0 0
then
rm -f /home/nav/nav.exe
rm -f /home/nav/core.* # vymaze dump subory ktore sa vytvorili programom wget
else
echo `date` Zacinam stahovat novy aktualizacny subor >> nav.log
fi
else
# Udaje pre logovaci subor
echo Subor nav.exe neexistuje a bude stiahnuty >> nav.log
echo V adresary `pwd` sa nachadzaju tieto aktualizacne subory >> nav.log
ls /home/nav/*.exe >> nav.log
# Download suboru
wget --directory-prefix=/home/nav -r -N -nd -A "200[3-9]*0[0-9][0-9]*i32.exe" -R zip,txt,md5,hqx,sh,lst,html,htm ftp://ftp.symantec.com/public/english_us_canada/antivirus_definitions/
# Vyber aktualneho suboru a unifikovanie nazvu
mv -f "`ls /home/nav/*.exe | sort -n| tail -n 1`" /home/nav/nav.exe
# Upload na ftp servery a kontrola pripojenia
FTP="zilina kosice sklad intranet"
function zije
{
ping -c 3 $1 > /dev/null
echo $?
}
for IP in $FTP; do
if [ $(zije $IP) -eq 0 ]; then
echo "Pocitac $IP je dostupny" >> nav.log
else
echo "Aktualizacny subor nebol skopirovany na pocitac $IP, pretoze je momentalne nedostupny !" >> nav.log
exit
fi
done
# upload na ftp
ncftpput -u administrator -p xxxxxx 10.0.1.1 / /home/nav/nav.exe
ncftpput -u administrator -p xxxxxx 10.0.2.1 / /home/nav/nav.exe
ncftpput -u administrator -p xxxxxx 10.0.3.1 / /home/nav/nav.exe
ncftpput -u administrator -p xxxxxx 10.0.4.1 /NAV /home/nav/nav.exe
Xdialog --title Aktualizacia antiviru --textbox nav.log 30 50
fi
____________________________________________________________
Poctenicko pro kazdy den: http://www.novinky.cz
Další informace o konferenci linux