/Designs/Measuring_instruments/RMDS01B/SW/Bolidozor/SpectrumLab/SVAKOV-R2.txt
0,0 → 1,148
;ver. 2.0 - 23. 11. 2013
;PODMÍNKA JEN 80 ZNAKŮ
;PŘÍKAZY JEN 255 ZNAKŮ
 
;Časovače
;timer0 - časovač maximální mezery mezi 2 meteory K_max_time_btw_met
;timer3 - časovač pro odpočet screenshotu bez meteoru K_max_time_to_scr
;timer4 - časovač pro odečet screenshotu s meteorem po odvalení několika málo sekund aby nebyl meteor moc nahoře
 
;Proměnné:
;n noise background šum pozadí
;n_1 šum v okamžiku detekce meteoru
;f frequency of maximum amplitude frekvence na které se nachází maximum
;aver_amp average amplitude +- 100 Hz průměrná aplituda v rozsahu +- 100Hz od maxima
;aver_amp_1 je average amplitude aktualizovaná v průběhu měření meteoru
;aver_amp_max je maximální hodnota z hodnot v průběhu měření meteoru
;mag magnitude
;hour_count count of meteors in hour
;dur_count maximální délka meteoru (count po dobu existence meteoru)
;T_0 cas posledniho vypoctu FFT v internim formatu SpectrumLabu (aktualizace každých 50ms)
;T cas posledniho vypoctu FFT v textove forme ve formatu "YYYYMMDDhhmmss.sss"
;t3 aktualni hodina a minuta
;id_met identifikátor meteoru do screenshotu
 
;Konstanty:
;K_station_name="JOSY-A" station name (device code - 20 characters maximum, get your unique station code on http://home.robozor.cz)
;K_path_scr vložit lokální adresář pro screenshoty
;K_path_audio vložit lokální adresář pro audio soubory
;K_path_RMOB vložit lokální adresář textové soubory RMOB
;K_path_SDR vložit lokální adresář textové soubory RMOB
;K_max_time_btw_met=2 minimalni doba mezi 2 meteory v sekundachjsou (nižší se počítá jako 1 meteor)
;K_max_time_to_scr=100 maximální doba bez meteoru, která pokud vyprší, udělá screenshot (max doba za kterou odroluje waterfall)
;K_init_cond=50 interval pro nastavení vyhodnocení scriptu 50ms Evaluate SpectrumLab condition interval (50ms)
;K_time_to_start_up_waterf=4 vteřiny od okraje screenshot Kolik sekund se má počkat do screenshotu po detekci metreoru (jak daleko od okraje)
;K=7 - citlivost detekce meteoru
;K_min_dur_count_bolid=50 detekce bolidu pro audio (2,5 vteřiny)
 
;Události
;A_init (inicializace)
;A_measurement (kdykoliv po 50 ms)
;A_still_detect (událost trvání meteoru nebo bolidu) - průběžně
;A_start_detect (událost detekce začátku meteoru nebo bolidu)
;A_start_detect_bolid (událost 2,5 vteřiny od detekce meteoru)
;A_end_detect (událost detekce konce meteoru nebo bolidu)
;A_end_detect_end (konec cyklu události detekce konce meteoru nebo bolidu)
;A_write_waterf (událost záznamu popisu detekce do waterfallu)
;A_update_SDR_data_file (událost generování souboru SDR screenshot při záznamu meteoru)
;A_update_RMOB_Dur_file (událost generování souborů RBOB)
;A_met_screenshot (událost generování screenshotu waterfallu pokud je zaznamenán meteor)
;A_no_met_screenshot (událost generování screenshotu waterfallu pokud není dlouho zaznamenán meteor)
;A_once_hour_20s_before (událost 1x za hodinu před ukončením hodiny 20 vteřin)
;A_once_hour
;A_once_hour_10s_before (událost 1x za hodinu před ukončením hodiny 10 vteřin)
;A_once_hour_30s_after (událost 1x za hodinu po ukončení hodiny 30 vteřin)
 
 
;-----------------A_init - Inicializace proměnných a konstant--------------------
if( initialising ) then A_init=1:A_still_detect=0:n=0:n_1=0:f=0:f_1=0:aver_amp=0:a=0:mag=0:mag_max=0:hour_count=0:dur_count=0:aver_amp_1=-999:aver_amp_max=-999:T="0000":T_0=0:t1_0=0:t3=0:bolide=0:bolide2=0
if( A_init = 1 ) then A_init=2:id_met="no":id_met2="no":K_station_name="SVAKOV-R2":K_path_scr="/media/sd/meteors/capture/":K_path_audio="/media/sd/meteors/audio/":K_path_SDR="/media/sd/meteors/data/"
if( A_init = 2 ) then A_init=3:K_max_time_btw_met=2:K_max_time_to_scr=100:K_init_cond=50:K_time_to_start_up_waterf=4:K=7:K_min_dur_count_bolid=50
if( A_init = 3 ) then A_init=4:A_measurement=0:A_start_detect=0:A_end_detect=0:A_end_detect_end=0:A_write_waterf=0:A_update_SDR_data_file=0:A_update_RMOB_Dur_file=0:A_met_screenshot=0
if( A_init = 4 ) then A_init=5:A_no_met_screenshot=0:A_once_hour_2s_before=0:A_once_hour=0:A_once_hour_1s_before=0:timer3.restart(K_max_time_to_scr):dur2=0:dur3=0
if( A_init = 5 ) then A_init=6
if( A_init = 6 ) then A_init=0
 
;----------------A_measurement - (po 50 ms)-------------------------------------
;n=noise(9800,10200) aktualizace a výpočet hodnoty šumu (záleží na nastavení FFT)
;f=peak_f(10300,10900) max intenzita signálu v daném intervalu frekvencí
;aver_amp=avrg(f-100,f+100) vrací prům. intenzitu signálu 100 Hz kolem maxima
;-------------------------------------------------------------------------------
if( never ) then REM --- Measurement - (each 50 ms) ----------------------------
if( always ) then n=noise(9800,10200):f=peak_f(10300,10900):aver_amp=avrg(f-100,f+100):a=(n+K):T_0=time:dur2=dur2+1
if( always ) then T=str("YYYYMMDDhhmmss.sss",T_0):t1=str("00000000000000000",val(T)*1000):t3=str("mmss",T_0)
if(A_still_detect=0) then dur2=1
 
;-----------------A_still_detect (an event of meteor or bolide continue)-----------
if( aver_amp>a ) then A_still_detect=A_still_detect+1:timer0.restart(K_max_time_btw_met):timer3.restart(K_max_time_to_scr):dur_count=dur_count+1:aver_amp_1=a-aver_amp:dur3=dur2
 
;-----------------A_aver_amp (maximal amplitude calculation)---
if( aver_amp_1>aver_amp_max ) then aver_amp_max=aver_amp_1
 
if(dur2=2) then aCt1=round(a-avrg(f-10,f+10)):aRt1=round(a-avrg(f+20,f+50)):aLt1=round(a-avrg(f-50,f-20))
if(dur2=8) then aCt2=round(a-avrg(f-10,f+10)):aRt2=round(a-avrg(f+20,f+50)):aLt2=round(a-avrg(f-50,f-20))
if(dur2=16) then aCt3=round(a-avrg(f-10,f+10)):aRt3=round(a-avrg(f+20,f+50)):aLt3=round(a-avrg(f-50,f-20))
 
;-----------------A_start_detect (an event of begining of meteor)----------------------
if( never ) then REM --- A_start_detect (an event of begin of meteor) --------------
if( A_still_detect=1 ) then A_still_detect=2:A_start_detect=1:id_met=(t1+"_"+K_station_name):id_met0=t1:sp.print("` ^ t+"+str("ss",time))
if( A_start_detect=1 ) then A_start_detect=2:n_1=n:f_1=f
if( A_start_detect=2 ) then A_start_detect=0
 
;------------A_end_detect (an event of detection meteor or fireball-----------
if( never ) then REM --- A_end_detect (end of meteor) ---
if( timer0.expired(1) ) then A_end_detect=1:id_met2=id_met:hour_count=hour_count+1:timer4.restart(K_time_to_start_up_waterf)
if( A_end_detect=1 ) then A_end_detect=2:s1="` "+id_met0+" hCnt"+str(hour_count)+" nb"+str(round(n_1))+" f"+str(f_1)+" hit"+str(dur_count*K_init_cond)+" dur"+str(dur3*K_init_cond)+" mag"+str(round(aver_amp_max)))
if( A_end_detect=2 ) then A_end_detect=3:s2=" 1L"+str(aLt1)+" 1C"+str(aCt1)+" 1R"+str(aRt1)+" 2L"+str(aLt2)+" 2C"+str(aCt2)+" 2R"+str(aRt2)+" 3L"+str(aLt3)+" 3C"+str(aCt3)+" 3R"+str(aRt3)
if( A_end_detect=3 ) then A_end_detect=4:sp.print(s1+s2)
if( A_end_detect=4 ) then A_end_detect=5:A_update_SDR_data_file=1:fft.export.close
if( A_end_detect=5 ) then A_end_detect=0
;-----------------A_update_SDR_data_file----------------------------------------
;Record to a data file (*.dat) (project Bolidozor)
if( never ) then REM --- write data to the file .dat ---
if( A_update_SDR_data_file=1 ) then A_update_SDR_data_file=2:fopen1(K_path_SDR+str("YYYYMMDDhh",T_0)+"_"+K_station_name+".dat",a)
if((A_update_SDR_data_file=2)&&(bolide2=1)) then A_update_SDR_data_file=3:fw1(id_met2+"_fb;"+str(round(n_1))+";"+str(f_1)+";"+str(dur_count*K_init_cond)+";"+str(dur3*K_init_cond)+";"+str(round(aver_amp_max)) ):bolide2=0
if( A_update_SDR_data_file=2 ) then A_update_SDR_data_file=3:fw1(id_met2+"_met;"+str(round(n_1))+";"+str(f_1)+";"+str(dur_count*K_init_cond)+";"+str(dur3*K_init_cond)+";"+str(round(aver_amp_max)) )
if( A_update_SDR_data_file=3 ) then A_update_SDR_data_file=4:fp1(";"+str(aLt1)+";"+str(aCt1)+";"+str(aRt1)+";"+str(aLt2)+";"+str(aCt2)+";"+str(aRt2)+";"+str(aLt3)+";"+str(aCt3)+";"+str(aRt3))
if( A_update_SDR_data_file=4 ) then A_update_SDR_data_file=5:fclose1:A_end_detect_end=1
if( A_update_SDR_data_file=5 ) then A_update_SDR_data_file=0
;--------------A_end_detect_end-------------------------------------------------
;zametení
if( never ) then REM --- Cleaning ----------------------------------------------
if( A_end_detect_end=1 ) then A_end_detect_end=2:dur_count=0:aver_amp_1=-999:aver_amp_max=-999:rec.trigger=0:A_still_detect=0
if( A_end_detect_end=2 ) then A_end_detect_end=3:a1m=-999:a5m=-999:a10m=-999
if( A_end_detect_end=3 ) then A_end_detect_end=0
 
;-----------------A_start_detect_bolid (událost start bolidu)-------------------
if( never ) then REM --- A_start_detect_bolid (begin of fireball) --------------
if( dur_count=K_min_dur_count_bolid ) then id_met_bolide=id_met:rec.filename=K_path_audio+id_met_bolide+".wav":rec.trigger=1:bolide=1:bolide2=1
 
;---A_met_screenshot (událost generování screenshotu waterfallu pokud je zaznamenán meteor)---
if( never ) then REM --- A_met_screenshot (capture a screenshot with meteor) ---
if( timer4.expired(1) ) then A_met_screenshot=1
if((A_met_screenshot=1)&&(bolide=1)) then capture (K_path_scr+id_met_bolide+"_fb.jpg"):A_met_screenshot=2
if( A_met_screenshot=1 ) then capture (K_path_scr+id_met2+"_met.jpg"):A_met_screenshot=2
if( A_met_screenshot=2 ) then A_met_screenshot=0:bolide=0
 
;---A_no_met_screenshot (událost generování screenshotu waterfallu pokud není dlouho zaznamenán meteor)---
if( never ) then REM --- A_no_met_screenshot (capture a screenshot without meteor) ---
if( timer3.expired ) then A_no_met_screenshot=1:capture (K_path_scr+t1+"_"+K_station_name+"_none.jpg")
if( A_no_met_screenshot=1 ) then A_no_met_screenshot=2:fopen1(K_path_SDR+str("YYYYMMDDhh",T_0)+"_"+K_station_name+".dat",a)
if( A_no_met_screenshot=2 ) then A_no_met_screenshot=3:fp1(t1+"_"+K_station_name+"_none;"+str(round(n))+";;;;;;;;;;;;;")
if( A_no_met_screenshot=3 ) then A_no_met_screenshot=4:fclose1
if( A_no_met_screenshot=4 ) then A_no_met_screenshot=5
if( A_no_met_screenshot=5 ) then A_no_met_screenshot=0:timer3.restart(K_max_time_to_scr)
;-A_once_hour_2s_before -
if( never ) then REM --- A_once_hour_20s_before (an event 1x per hour - 2 seconds) ---
if( val(t3,"####")=5958 ) then A_once_hour_2s_before=A_once_hour_2s_before+1
if( A_once_hour_2s_before=1 ) then A_once_hour=1
if( A_once_hour=1 ) then A_once_hour=2:sp.print("Last hour =",hour_count):hour_count=0
if( A_once_hour=2 ) then A_once_hour=0
 
;-A_once_hour_1s_before -
if( never ) then REM --- A_once_hour_1s_before (an event 1x per hour - 1 second) ---
if( val(t3,"####")=5959 ) then A_once_hour_2s_before=0:
/Designs/Measuring_instruments/RMDS01B/SW/Bolidozor/SpectrumLab/sync.sh
0,0 → 1,122
#!/usr/bin/env bash
 
[[ $# -ne 1 ]] && echo "Usage: ./sync.sh /path/to/folder" && exit 1
 
# Redirect stdout ( > ) into a named pipe ( >() ) running "tee"
exec > >(tee "$1"/logfile.txt)
 
# Also redirect stderr
exec 2>&1
 
FREQUENCY=60
 
TIDYUP="$(pwd)/tidyup.sh"
RSYNC="$(pwd)/upload.sh"
 
DEFAULT="\033[00m"
RED="\033[01;31m"
BLUE="\033[01;36m"
 
function info() {
echo -en "$BLUE"; echo -n $1; echo -e "$DEFAULT"
}
 
function error() {
echo -en "$RED"; echo -n $1; echo -e "$DEFAULT"
}
 
function syncdir() {
EXIT=1
i=1
while [ $EXIT -ne 0 ]; do
info "Trying to sync $1, try number $i"
"$RSYNC" "$1"
EXIT=$?
[ $EXIT -ne 0 ] && error "sync failed"
let i++
done
return $EXIT
}
 
# Sort files
# Mask
function tidyup() {
info "sorting $1"
"$TIDYUP" $1
if [ "$?" -ne 0 ]; then
error "sorting failed, please send logfile.txt to toxygen1@gmail.com"
return 1
fi
return 0
}
 
# Test public key authentication
function sshtest() {
./test.sh
if [ "$?" -eq 0 ]; then
info "Authentication works"
return 0
else
error "Authentication does not work"
return 1
fi
}
 
# Check if we can connect, otherwise terminate
sshtest || exit 1
 
# Change working directory
cd $1
 
# reset counter
HOURCOUNT=24
 
# Periodically tidy up and do incremental sync
while :
do
# start timer
start_time=`date +%s`
# sort
tidyup $1 || error "Sort failed, please send logfile.txt to toxygen1@gmail.com"
# increase counter every hour
# if 24 hour mark is hit, do daily sync
if [[ "$HOURCOUNT" -eq 24 ]]
then
info "Doing complete sync"
syncdir .
HOURCOUNT=0
fi
if [ -f "$1"/LAST ]
then
# next line is important for the first run of the loop
read LAST < "$1"/LAST
let HOURCOUNT++
 
# read last processed day
OLD="$LAST"
read LAST < "$1"/LAST
 
# sync last updated folders
syncdir ./audio/"$LAST"
syncdir ./capture/"$LAST"
syncdir ./data/"$LAST"
 
# days changed, sync yesterday too
[[ "$LAST" != "$OLD" ]] && info "syncing yesterday" && syncdir "$OLD"
 
tail -n 1000 "$1"/logfile.txt > "$1"/tmp.txt
mv "$1"/tmp.txt "$1"/logfile.txt
fi
# end timer
end_time=`date +%s`
ELAPSED=`expr $end_time - $start_time`
info "execution time was $ELAPSED s"
 
# if last sync took less than TIME, sleep to make up 1 hour
[[ $ELAPSED -lt $FREQUENCY ]] && sleep `expr $FREQUENCY - $ELAPSED`
done
/Designs/Measuring_instruments/RMDS01B/SW/Bolidozor/SpectrumLab/test.sh
0,0 → 1,5
#!/usr/bin/env bash
 
ssh -o StrictHostKeyChecking=no -p2223 -o BatchMode=yes meteor@meteor1.astrozor.cz "exit"
 
[[ "$?" -eq 0 ]] && exit 0 || exit 1
/Designs/Measuring_instruments/RMDS01B/SW/Bolidozor/SpectrumLab/tidyup.sh
0,0 → 1,193
#!/usr/bin/env bash
#
# tidyup.sh
#
# This script will sort create organized directory structure
# from observation files in one directory.
#
# Takes one argument: path to the directory
#
# Returns 0 if sorting succeeds
# Returns 1 if there are no files to sort
# Returns >1 in case of error
#
# before:
#
# |
# | 20131214214014084_SVAKOV-R2_met.jpg
# | 20131214214124184_SVAKOV-R2_met.jpg
# | 20131224214124184_SVAKOV-R2_met.jpg
# | .
# | .
# | .
#
# after:
#
# |
# |- SVAKOV-R2 <- observatory
# | |- 2013 <- year
# | |- 12 <- month
# | |- 14 <- day
# | |- 21 <- hour
# | | |- 20131214214014084_SVAKOV-R2_met.jpg
# | | |- 20131214214124184_SVAKOV-R2_met.jpg
# | |
# | |- 22
# | |- 20131224214124184_SVAKOV-R2_met.jpg
# |
# .
# .
# .
#
#
# filename format must be as 20131214214014084_SVAKOV-R2_met.jpg
 
DELIM="_"
SLASH="/"
LAST=""
 
 
# turn on debug
set -x
 
# none or 1 argument allowed
[[ "$#" -ne 1 ]] && echo "Wrong number of arguments ($#)" && exit 1
 
# directory in which to sort must exists
[[ ! -d "$1" ]] && echo "Directory doesn't exist" && exit 1
 
# captured images
cd "$1"/capture
 
# if there are no files with $EXT extension in the directory then quit
EXT="jpg"
ls -f *."$EXT" > /dev/null 2>&1
if [ "$?" -eq 0 ]; then
for i in *."$EXT"; do
echo "processing " $i
OBSERVATORY=`echo $i | cut -d $DELIM -f2`
OBSERVATORY=`echo "$OBSERVATORY" | cut -d "." -f1`
TIMESTAMP=`echo "$i" | cut -d $DELIM -f1`
YEAR=`echo "$TIMESTAMP" | cut -c 1-4`
MONTH=`echo "$TIMESTAMP" | cut -c 5-6`
DAY=`echo "$TIMESTAMP" | cut -c 7-8`
HOUR=`echo "$TIMESTAMP" | cut -c 9-10`
# observatory / year / month / day / hour
DAYDIR="$YEAR$SLASH$MONTH$SLASH$DAY$SLASH$HOUR"
# create directory with observatory name, year, month and day if hasn't existed before
[[ -d "$DAYDIR" ]] || mkdir -p "$DAYDIR"
# check if directory really exists (if fs is full it might not be created)
[[ -d "$DAYDIR" ]] && mv "$i" "$DAYDIR"
echo -n "$YEAR$SLASH$MONTH$SLASH$DAY" > LAST
echo -n "$YEAR$SLASH$MONTH$SLASH$DAY" > "$1"/LAST
done
else
echo "No .""$EXT"" files to sort"
fi
 
#captured sounds
cd "$1"/audio
 
EXT="wav"
ls -f *."$EXT" > /dev/null 2>&1
if [ "$?" -eq 0 ]; then
for i in *."$EXT"; do
echo "processing " $i
OBSERVATORY=`echo $i | cut -d $DELIM -f2`
OBSERVATORY=`echo "$OBSERVATORY" | cut -d "." -f1`
TIMESTAMP=`echo "$i" | cut -d $DELIM -f1`
YEAR=`echo "$TIMESTAMP" | cut -c 1-4`
MONTH=`echo "$TIMESTAMP" | cut -c 5-6`
DAY=`echo "$TIMESTAMP" | cut -c 7-8`
HOUR=`echo "$TIMESTAMP" | cut -c 9-10`
# observatory / year / month / day / hour
DAYDIR="$YEAR$SLASH$MONTH$SLASH$DAY"
# create directory with observatory name, year, month and day if hasn't existed before
[[ -d "$DAYDIR" ]] || mkdir -p "$DAYDIR"
# check if directory really exists (if fs is full it might not be created)
[[ -d "$DAYDIR" ]] && mv "$i" "$DAYDIR"
echo -n "$YEAR$SLASH$MONTH$SLASH$DAY" > LAST
echo -n "$YEAR$SLASH$MONTH$SLASH$DAY" > "$1"/LAST
done
else
echo "No .""$EXT"" files to sort"
fi
 
EXT="aux"
ls -f *."$EXT" > /dev/null 2>&1
if [ "$?" -eq 0 ]; then
for i in *."$EXT"; do
echo "processing " $i
OBSERVATORY=`echo $i | cut -d $DELIM -f2`
OBSERVATORY=`echo "$OBSERVATORY" | cut -d "." -f1`
TIMESTAMP=`echo "$i" | cut -d $DELIM -f1`
YEAR=`echo "$TIMESTAMP" | cut -c 1-4`
MONTH=`echo "$TIMESTAMP" | cut -c 5-6`
DAY=`echo "$TIMESTAMP" | cut -c 7-8`
HOUR=`echo "$TIMESTAMP" | cut -c 9-10`
# observatory / year / month / day / hour
DAYDIR="$YEAR$SLASH$MONTH$SLASH$DAY"
# create directory with observatory name, year, month and day if hasn't existed before
[[ -d "$DAYDIR" ]] || mkdir -p "$DAYDIR"
# check if directory really exists (if fs is full it might not be created)
[[ -d "$DAYDIR" ]] && mv "$i" "$DAYDIR"
echo -n "$YEAR$SLASH$MONTH$SLASH$DAY" > LAST
echo -n "$YEAR$SLASH$MONTH$SLASH$DAY" > "$1"/LAST
done
else
echo "No .""$EXT"" files to sort"
fi
 
#metadata for Bolidozor
cd "$1"/data
 
EXT="dat"
ls -f *."$EXT" > /dev/null 2>&1
if [ "$?" -eq 0 ]; then
for i in $(find *."$EXT" -maxdepth 1 -mmin +59); do
echo "processing " $i
OBSERVATORY=`echo $i | cut -d $DELIM -f2`
OBSERVATORY=`echo "$OBSERVATORY" | cut -d "." -f1`
TIMESTAMP=`echo "$i" | cut -d $DELIM -f1`
YEAR=`echo "$TIMESTAMP" | cut -c 1-4`
MONTH=`echo "$TIMESTAMP" | cut -c 5-6`
DAY=`echo "$TIMESTAMP" | cut -c 7-8`
HOUR=`echo "$TIMESTAMP" | cut -c 9-10`
# observatory / year / month / day / hour
DAYDIR="$YEAR$SLASH$MONTH$SLASH$DAY"
# create directory with observatory name, year, month and day if hasn't existed before
[[ -d "$DAYDIR" ]] || mkdir -p "$DAYDIR"
# check if directory really exists (if fs is full it might not be created)
[[ -d "$DAYDIR" ]] && mv "$i" "$DAYDIR"
echo -n "$YEAR$SLASH$MONTH$SLASH$DAY" > LAST
echo -n "$YEAR$SLASH$MONTH$SLASH$DAY" > "$1"/LAST
done
else
echo "No .""$EXT"" files to sort"
fi
 
 
exit 0
 
 
 
/Designs/Measuring_instruments/RMDS01B/SW/Bolidozor/SpectrumLab/upload.sh
0,0 → 1,23
#!/usr/bin/env bash
#
# sync directory to server
#
# this script should not be called manually
 
[[ "$#" -ne 1 ]] && echo "Please provide directory to upload" && exit 1
 
# debug
set -x
 
#cd `dirname $1`
#UPDIR=`basename $1`
UPDIR="$1"
 
# if exclude-list.txt is present, use it
# could as well be changed for rsync -q, but this is more clear
if [[ -f exclude-list.txt ]]
then
rsync -avtz "$UPDIR"/ --rsh='ssh -p2223' --exclude-from='exclude-list.txt' meteor@meteor1.astrozor.cz:meteors/SVAKOV_R2/"$UPDIR"/
else
rsync -avtz "$UPDIR"/ --rsh='ssh -p2223' meteor@meteor1.astrozor.cz:meteors/SVAKOV_R2/"$UPDIR"/
fi