[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20000605: McIDAS batch file won't run from crontab



>From: Gilbert Sebenste <address@hidden>
>Organization: NIU
>Keywords: 200006031813.e53IDIT00341 McIDAS-X shell script

Gilbert,

>I see what you mean, but the following script gives me nothing but errors:
>
>
>stty: standard input: Inappropriate ioctl for device
>SF: Command not found.
>EG: Command not found.
>EG: Command not found.
>EU: Command not found.
>EU: Command not found.
>GU: Command not found.
>IMGDISP: Command not found.
>REM: Command not found.
>REM: Command not found.
>MAP: Command not found.
>EU: Command not found.
>EU: Command not found.
>GU: Command not found.
>SVGIF: Command not found.
>Unmatched ".
>
>
>Here is the script, modified:

>#!/bin/sh -f
>MCHOME=/home/mcidas
>MCDATA=$MCHOME/workdata
>MCLOG=$MCDATA/scour.log
>MCPATH=${MCDATA}:$MCHOME/data:$MCHOME/help
>PATH=$MCHOME/bin:$PATH
>exec 2>$MCLOG 1>&2
>LD_LIBRARY_PATH=/usr/local/lib:/lib:$MCHOME/lib:/usr/lib
>cd $MCDATA
>MCPATH=$MCPATH PATH=$PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH mcenv << 'EOF'
>...

You are still mixing Unix shell scripting with McIDAS BATCH syntax.  You have
two options:

1) put the McIDAS commands you list into a McIDAS BATCH file that exists
   in a directory in your MCPATH:

/home/mcidas/workdata/CFDG.BAT::

SF 1
EG 1
EG I 1
EU REST IMAGE2
EU REST IMAGE2
GU MAKE 2 50 0 0 
IMGDISP RTGINI/GE1KVIS STA=EAR 1 WID=9
REM IMGDISP RTGINI/GW1KVIS STA=DSM 1 WID=9
REM IMGDISP G8-GHCC/VIS STA=VTN MAG=1 -2 1 WID=9
MAP VH 2
EU REST IMAGE2
EU REST IMAGE2
GU MAKE 2 50 0 0
FRMSAVE 1 CFDG
OS "mv /home/mcidas/workdata/CFDG.GIF /home/httpd/html/cfdg.gif
MAP SAT 2 COU=ALL 
FRMSAVE 1 CFDG2
OS "mv /home/mcidas/workdata/CFDG2.GIF /home/httpd/html/cfdg2.gif
REM
REM This is floater #2
SF 1
EG 1
EG I 1
EU REST IMAGE2
EU REST IMAGE2
GU MAKE 2 50 0 0
IMGDISP RTGINI/GE1KVIS STA=UIN 1 WID=9
REM IMGDISP RTGINI/GW1KVIS STA=OKC 1 WID=9
REM IMGDISP G8-GHCC/VIS STA=LBF MAG=1 -2 1 WID=9
MAP VH 2
EU REST IMAGE2
EU REST IMAGE2
GU MAKE 2 50 0 0
FRMSAVE 1 CFDG
OS "mv /home/mcidas/workdata/CFDG.GIF /home/httpd/html/cfdg3.gif
MAP SAT 2 COU=ALL
FRMSAVE 1 CFDG2
OS "mv /home/mcidas/workdata/CFDG2.GIF /home/httpd/html/cfdg4.gif
EG 1
EG I 1
REM This is floater #3
SF 1
EG 1
EG I 1
EU REST IMAGE2
EU REST IMAGE2
GU MAKE 2 50 0 0
IMGDISP RTGINI/GE1KVIS STA=SQI 1 WID=9
REM IMGDISP RTGINI/GW1KVIS STA=OKC 1 WID=9
REM IMGDISP G8-GHCC/VIS STA=SJT MAG=1 -2 1 WID=9
MAP VH 2
EU REST IMAGE2
EU REST IMAGE2
GU MAKE 2 50 0 0
FRMSAVE 1 CFDG
OS "mv /home/mcidas/workdata/CFDG.GIF /home/httpd/html/cfdg5.gif
MAP SAT 2 COU=ALL
FRMSAVE 1 CFDG2
OS "mv /home/mcidas/workdata/CFDG2.GIF /home/httpd/html/cfdg6.gif
EG 1
EG I 1

Execute the commands in CFDG.BAT from a shell script kicked off by cron:

#!/bin/sh -f
MCHOME=/home/mcidas
MCDATA=$MCHOME/workdata
MCLOG=$MCDATA/scour.log
MCPATH=${MCDATA}:$MCHOME/data:$MCHOME/help
PATH=$MCHOME/bin:$PATH
exec 2>$MCLOG 1>&2
LD_LIBRARY_PATH=/usr/local/lib:/lib:$MCHOME/lib:/usr/lib
cd $MCDATA
MCPATH=$MCPATH PATH=$PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH mcenv << 'EOF'
batch.k CFDG.BAT
exit
EOF
exit 0

If you intend to write a number of McIDAS BATCH scripts that you want
run from cron, then generalize the Unix shell script to accept a command
line argument that is the name of the McIDAS BATCH file:

Unix shell script named mcbatch.sh

#!/bin/sh -f
MCHOME=/home/mcidas
MCDATA=$MCHOME/workdata
MCLOG=$MCDATA/scour.log
MCPATH=${MCDATA}:$MCHOME/data:$MCHOME/help
PATH=$MCHOME/bin:$PATH
exec 2>$MCLOG 1>&2
LD_LIBRARY_PATH=/usr/local/lib:/lib:$MCHOME/lib:/usr/lib
cd $MCDATA
MCPATH=$MCPATH PATH=$PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH mcenv << 'EOF'
batch.k $1
exit
EOF
exit 0


This would be executed like:

mcbatch.sh CFDG.BAT


2) rewrite the commands that you want in Unix shell script format:

#!/bin/sh -f
MCHOME=/home/mcidas
MCDATA=$MCHOME/workdata
MCLOG=$MCDATA/scour.log
MCPATH=${MCDATA}:$MCHOME/data:$MCHOME/help
PATH=$MCHOME/bin:$PATH
exec 2>$MCLOG 1>&2
LD_LIBRARY_PATH=/usr/local/lib:/lib:$MCHOME/lib:/usr/lib
cd $MCDATA
MCPATH=$MCPATH PATH=$PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH mcenv << 'EOF'

sf.k 1
eg.k B 1
eu.k REST IMAGE2
eu.k REST IMAGE2
gu.k MAKE 2 50 0 0 
imgdisp.k RTGINI/GE1KVIS STA=EAR 1 WID=9
# imgdisp.k RTGINI/GW1KVIS STA=DSM 1 WID=9
# imgdisp.k G8-GHCC/VIS STA=VTN MAG=1 -2 1 WID=9
map.k VH 2
eu.k REST IMAGE2
eu.k REST IMAGE2
gu.k MAKE 2 50 0 0
frmsave.k 1 CFDG
mv /home/mcidas/workdata/CFDG.GIF /home/httpd/html/cfdg.gif
map.k SAT 2 COU=ALL 
frmsave.k 1 CFDG2
mv /home/mcidas/workdata/CFDG2.GIF /home/httpd/html/cfdg2.gif

# This is floater #2

sf.k 1
eg.k B 1
eu.k REST IMAGE2
eu.k REST IMAGE2
gu.k MAKE 2 50 0 0
imgdisp.k RTGINI/GE1KVIS STA=UIN 1 WID=9
# imgdisp.k RTGINI/GW1KVIS STA=OKC 1 WID=9
# imgdisp.k G8-GHCC/VIS STA=LBF MAG=1 -2 1 WID=9
map.k VH 2
eu.k REST IMAGE2
eu.k REST IMAGE2
gu.k MAKE 2 50 0 0
frmsave.k 1 CFDG
mv /home/mcidas/workdata/CFDG.GIF /home/httpd/html/cfdg3.gif
map.k SAT 2 COU=ALL
frmsave.k 1 CFDG2 GRA=1
mv /home/mcidas/workdata/CFDG2.GIF /home/httpd/html/cfdg4.gif

REM This is floater #3
sf.k 1
eg.k B 1
eu.k REST IMAGE2
eu.k REST IMAGE2
gu.k MAKE 2 50 0 0
imgdisp.k RTGINI/GE1KVIS STA=SQI 1 WID=9
# imgdisp.k RTGINI/GW1KVIS STA=OKC 1 WID=9
# imgdisp.k G8-GHCC/VIS STA=SJT MAG=1 -2 1 WID=9
map.k VH 2
eu.k REST IMAGE2
eu.k REST IMAGE2
gu.k MAKE 2 50 0 0
frmsave.k 1 CFDG
mv /home/mcidas/workdata/CFDG.GIF /home/httpd/html/cfdg5.gif
map.k SAT 2 COU=ALL
svgif.k 1 CFDG2 GRA=1
mv /home/mcidas/workdata/CFDG2.GIF /home/httpd/html/cfdg6.gif
eg.k B 1

exit
EOF

# done
exit 0

In the above, I have done the following:

o changed the syntax so that the Unix shell script will run the actual
  McIDAS commands (e.g., eg.k instead of EG)

o changed the 'EG 1' followed by 'EG I 1' to 'EG B 1'

o changed SVGIF to frmsave.k (svgif.k/SVGIF is a command that is being
  sunsetted in 7.7; for more information on commands that will be sunset,
  please refer to:

  http://www.unidata.ucar.edu/packages/mcidas/mcx/sunset.html

o changed 'OS "' use to use of simple Unix commands


One question:  You are running the EU command twice in a row.  I believe
that the reason you are doing this is to insure that the enhancement
is correctly restored to the frame; true?  If so, you might want to know
that:

o this is caused on systems running in 24-bit (actually, non-8-bit) mode
o this has been fixed in McIDAS-X 7.7 (the release that I am working on
  right now and expect to have ready by the end of July/beginning of
  August)


Tom


pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy