#!/bin/bash
## No cik gabaliem taisīsim lielāku karti - kartes gabaliņi tiks vilkti 1/$KarsuSkaits malu attiecībā (tā ir ātrāk)
KarsuSkaits=10
## Kāds būs mazās kartes platums - 500 labi pilsētām, citur pietiek ar 2000
XSOLIS=2000
## Kur novietosim izveidotās kartes
mkdir map$XSOLIS
MAPDIR=map$XSOLIS
## Sākums un beigas X un Y koordinātu plaknē - te ir visa Latvija un vēl biki
LV_X_START=313000
LV_Y_START=6172000
LV_X_BEIGAS=763000
LV_Y_BEIGAS=6439000
## funkcija karte, kas savāc mazos gabaliņus un izveido karti
function karte() {
## No kuras X koordinātes sāksim vilkt kartes
XSAKUMS=$1
## No kuras Y ordinātes sāksim vilkt kartes
YSAKUMS=$2
## Aprēķinam X un Y koordināšu beigas.
XBEIGAS=$(($XSAKUMS + $KarsuSkaits * $XSOLIS ))
YBEIGAS=$(($YSAKUMS + $KarsuSkaits * $XSOLIS ))
X1=$XSAKUMS
## Nobīde +10, lai kartes numurā būtu 2 cipari un montage tās saliktu pareizā secībā.
for kartite in `seq 11 $(($KarsuSkaits+10))`
do
# mazo kartīti velkam 1/$KarsuSkaits izmērā
wget -q "http://maps.kartes.lv/kijs/get_map.php?BBOX=$X1,$YSAKUMS,$(($X1+$XSOLIS)),$YBEIGAS&KIJS=BM45" -O tmp-$XSAKUMS-$kartite.gif
X1=$(($X1+$XSOLIS))
done
## Izplānojam kartes nosaukumus
KartesNosaukums="$XSAKUMS-$YSAKUMS-$XBEIGAS-$YBEIGAS"
## Izplānojam kartes nosaukumus priekš TurboGPS
## LU - Left Upper - kreisais augšējais stūris koordinātes
XLU=`echo $XSAKUMS $YBEIGAS | cs2cs +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m -f "%.8f" | awk '{print $1}'`
YLU=`echo $XSAKUMS $YBEIGAS | cs2cs +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m -f "%.8f" | awk '{print $2}'`
## RL - Right Lower - labais apakšējais stūris koordinātei
XRL=`echo $XBEIGAS $YSAKUMS | cs2cs +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m -f "%.8f" | awk '{print $1}'`
YRL=`echo $XBEIGAS $YSAKUMS | cs2cs +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m -f "%.8f" | awk '{print $2}'`
TGPSKOORD=$XLU'_'$YLU'_'$XRL'_'$YRL
## No mazajām kartēm izveidojam vienu lielāku karti
echo montage tmp-$XSAKUMS-* -tile "$KarsuSkaits"x1 -geometry 200x2000 $KartesNosaukums.gif
montage tmp-$XSAKUMS-* -tile "$KarsuSkaits"x1 -geometry 200x2000 $MAPDIR/$KartesNosaukums.gif
## Un izveidojam kopiju priekš turboGPS
cp -v $MAPDIR/$KartesNosaukums.gif $MAPDIR/$TGPSKOORD'_2000_2000.gif'
}
## Nosūtam funkcijai X un Y sākuma koordinātes
#start=352000
KartesXSolis=$(($XSOLIS*$KarsuSkaits))
KartesYSolis=$(($XSOLIS*$KarsuSkaits))
for YNr in `seq $LV_Y_START $KartesYSolis $LV_Y_BEIGAS`
do
for XNr in `seq $LV_X_START $KartesXSolis $LV_X_BEIGAS`
do
karte $XNr $YNr
done
done
ceturtdiena, 2010. gada 24. jūnijs
Latvijas kartes priekš TurboGPS
Skripts, kas savāc kartes ar visu Latviju un savāktās kartes pārsauc TurboGPS saprotamā veidā.
pirmdiena, 2010. gada 7. jūnijs
LKS92 konvertācija uz platuma un garuma grādiem
Konvertēt var ar proj komandu cs2cs, piemēram, Rīga (Rīgas 3. vidusskola):
http://www.balticmaps.eu/?lang=lv&draw_hash=jlfstt¢erx=506642¢ery=6311466&zoom=-2&layer=map
http://www.balticmaps.eu/?lang=lv&draw_hash=jlfstt¢erx=506642¢ery=6311466&zoom=-2&layer=map
echo 506642 6311466 | cs2cs +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999600 +x_0=500000 +y_0=0 \
+ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m -f "%.7f"
24.1091813 56.9467706 0.0000000
# Vai
echo 506642 6311466 | cs2cs +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=0 \
+ellps=GRS80 +units=m +to=WGS84 -f "%.6f"
24.109181 56.946771 0.000000
# Vai
echo 506642 6311466 | cs2cs +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=0 \
+ellps=GRS80 +units=m +to=WGS84
24d6'33.053"E 56d56'48.374"N 0.000
ceturtdiena, 2010. gada 20. maijs
MAC adrešu savākšana
Skripts, kas no doto slēdžu IP adresēm nolasa visas MAC adreses un izveido sarakstu ar
LAIKS SWITCHAIP PORTS MACADRESE
LAIKS SWITCHAIP PORTS MACADRESE
for i in SwitchIP1 SwitchIP2 SwitchIP3
do
snmpbulkwalk $i -v2c -c public enterprises.11.2.14.2.10.5.1.3.1 -OQqn |
tr : . | while read rinda
do
awk -v SWITCH="$i" -v LAIKS="`date +%F-%H-%M`" -F. '{ print LAIKS"\t"SWITCH"\t"$17"\t"$24}'
done
done
ceturtdiena, 2010. gada 6. maijs
VMWare migrācija uz KVM
Kā nomigrēt vmware uz KVM:
1) Nepieciešams no vairākiem vmdk failiem (kas bija sadalīti pa 2GB - ZABIX.vmdk,ZABBIX-f001.vmdk, ... ) izveidot 1 failu:
vmware-vdiskmanager -r ZABBIX.vmdk -t 0 zabbix-single.vmdk
2) Konvertējam disku uz qcow2 formātu
qemu-img convert zabbix-single.vmdk zabbix.qcow2
3) Ērtības labad pārvietojam uz jaunu direktoriju, kur atrodas KVM mašīnas.
mkdir ../../kvm/zabbix
mv zabbix.qcow2 ../../kvm/zabbix/
4) ar virt-install importējam mašīnu un izveidojam konfigurācijas failu (tīkls br0 jau ir izveidots uz servera):
virt-install -n zabbix --ram 1000 --import --file ./zabbix.qcow2 --network bridge:br0 --accelerate --vnc
5) ja nepieciešams, koriģējam instalācijas failu: /etc/libvirt/qemu/zabbix.xml
6) Virtuālo mašīnu var startēt ar:
virsh start zabbix
1) Nepieciešams no vairākiem vmdk failiem (kas bija sadalīti pa 2GB - ZABIX.vmdk,ZABBIX-f001.vmdk, ... ) izveidot 1 failu:
vmware-vdiskmanager -r ZABBIX.vmdk -t 0 zabbix-single.vmdk
2) Konvertējam disku uz qcow2 formātu
qemu-img convert zabbix-single.vmdk zabbix.qcow2
3) Ērtības labad pārvietojam uz jaunu direktoriju, kur atrodas KVM mašīnas.
mkdir ../../kvm/zabbix
mv zabbix.qcow2 ../../kvm/zabbix/
4) ar virt-install importējam mašīnu un izveidojam konfigurācijas failu (tīkls br0 jau ir izveidots uz servera):
virt-install -n zabbix --ram 1000 --import --file ./zabbix.qcow2 --network bridge:br0 --accelerate --vnc
5) ja nepieciešams, koriģējam instalācijas failu: /etc/libvirt/qemu/zabbix.xml
6) Virtuālo mašīnu var startēt ar:
virsh start zabbix
trešdiena, 2009. gada 2. decembris
SEB bankas fondu vēsturisko datu novilkšanas skripts
Cits prasts skripts vēsturisko fondu vērtību novilkšanai no SEB bankas.
#!/bin/bash
# Jāieraksta pareizs fonda nosaukums
FONDS="SEB Fund 1 Nordic Fund"
# Par cik vecu periodu jāsavāc informācija
VECUMS=$((3*365))
# Tālāk visam jānotiekas automātiski
# Izvadu var savākt kaut vai ar "tee -a"
FONDS_SHORT=`echo $FONDS | tr " " _`
datums=`date --date="-$VECUMS days" +%D`
for i in `seq 1 $VECUMS`
do datums=`date --date="$datums +1day" +%D`
DATUMA_IERAKSTS=`date --date="$datums" +"day="%d"&month="%m"&year="%Y`
echo -ne $datums\\t
lynx -dump "http://www.seb.lv/lv/private/services/investments/funds/SEB/howtoinvest/readmore/prices/values/?$DATUMA_IERAKSTS&cur=EUR&ofTabIndex=0" -show-rate=off -nomargins -nolist |
sed 's/fund/Fund/g ; s/fonds/Fund/g ; /Fund$/N;s/\n */\t/' |
grep "$FONDS" |
sed "s/$FONDS/$FONDS_SHORT/g" |
awk '{print $2"\t"$3}'
done
otrdiena, 2009. gada 1. decembris
SEB bankas Latu rezervers fonda vēsturisko vērtību iegūšana
Tā kā SEB bankas speciālisti nez kādu iemeslu dēļ nav pacentušies uztaisīt jelkādu tabuliņu ar savas bankas ieguldījumu fondu sarakstiem, bet šādu sarakstu būtu labi iegūt, un, par laimi, attiecīgai lapai tiekam klāt ar zolīdu URL, tad lūk, skripts, ar ko novilkt vērtības. Pēc vajadzības var pielāgot arī citiem SEB bankas vērtspapīriem.
Tiek izmantots, bash, links un date un seq komandas.
Tiek izmantots, bash, links un date un seq komandas.
#!/bin/bash
# Sakuma datums
datums=`date --date="2008/01/01" +%D`
# Protams, dienu skaits ir jāpielāgo savām vajadzībām
for i in `seq 1 730`
do
datums=`date --date="$datums +1day" +%D`
DATUMA_IERAKSTS=`date --date="$datums" +"day="%d"&month="%m"&year="%Y`
echo -ne $datums\\t
links -dump "http://www.seb.lv/lv/private/services/investments/funds/LRF/value/?$DATUMA_IERAKSTS&ofTabIndex=0" |
grep "Latu rezerves fonds LVL " |
awk '{print $5}'
done
ceturtdiena, 2009. gada 22. oktobris
Informācijas novilkšana no ASUS WL-320gP par pieslēgtajiem klientiem
Komanda:
Vai, ja vēlamies saprotamā veidā, un esam lejupielādējuši WL320gP MIB failus ( kādā no šiem failiem:
http://files.wl500g.info/asus/wl320gp/firmware/ ) un iekopējuši tos ./mib/ :
WL-320gP pārstartēšana:
jeb
snmpbulkwalk -v2c -c public DWLAP320gPIPAdrese .1.3.6.1.4.1.2623.4.1.1.6.2.4
Vai, ja vēlamies saprotamā veidā, un esam lejupielādējuši WL320gP MIB failus ( kādā no šiem failiem:
http://files.wl500g.info/asus/wl320gp/firmware/ ) un iekopējuši tos ./mib/ :
snmpbulkwalk -m ALL -M ./mib -v2c -c public WLAP320gPIPAdrese WL320g-MIB::stWireless
# vai
snmpbulkwalk -m ALL -M ./mib -v2c -c public WLAP320gPIPAdrese WL320g-MIB::stStationMACAddr 2>/dev/null -Ov
WL-320gP pārstartēšana:
snmpset -v2c -c private WLAP320gPIPAdrese .1.3.6.1.4.1.2623.4.1.1.5.6.0 i 2
jeb
snmpset -m ALL -M ./mib -v2c -c private WLAP320gPIPAdrese WL320g-MIB::systemCommand i 2
Abonēt:
Ziņas (Atom)