[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