[GRASS-user] Call script automatically when launching Grass-GIS

Hi all,

I have a few user machines with lots of maps to deal with, and I want to
centralize the map catalogues. So what I would like to do is:

- start Grass-GIS in text mode in a location (/home/user/grassdata/location)
- automatically launch the script (which is a simple bash loop on
g.mlist, calling on v.info and r.info to pull the metadata into a text file)
- exit at the end.

The script works fine if I execute it in Grass-GIS but I would like to
have it run without intervention. That way, I can schedule the catalogue
to run overnight on all machines. So is there a way to pass the script
to Grass-GIS to run 'hands-off'?

Richard

Richard Chirgwin wrote:

I have a few user machines with lots of maps to deal with, and I want
to centralize the map catalogues. So what I would like to do is:

- start Grass-GIS in text mode in a location
(/home/user/grassdata/location)
- automatically launch the script (which is a simple bash loop on
g.mlist, calling on v.info and r.info to pull the metadata into a text
file)
- exit at the end.

The script works fine if I execute it in Grass-GIS but I would like to
have it run without intervention. That way, I can schedule the catalogue
to run overnight on all machines. So is there a way to pass the script
to Grass-GIS to run 'hands-off'?

see "Running non-interactive batch jobs" here:
  http://grass.osgeo.org/grass64/manuals/html64_user/grass6.html

Hamish

Richard Chirgwin wrote:

I have a few user machines with lots of maps to deal with, and I want to
centralize the map catalogues. So what I would like to do is:

- start Grass-GIS in text mode in a location (/home/user/grassdata/location)
- automatically launch the script (which is a simple bash loop on
g.mlist, calling on v.info and r.info to pull the metadata into a text file)
- exit at the end.

The script works fine if I execute it in Grass-GIS but I would like to
have it run without intervention. That way, I can schedule the catalogue
to run overnight on all machines. So is there a way to pass the script
to Grass-GIS to run 'hands-off'?

Just set the necessary environment variables at the top of the script.

You can get a complete list of environment variables by searching for
"export" in etc/Init.sh, but the main ones are PATH, LD_LIBRARY_PATH,
GISBASE, GISRC and GIS_LOCK.

--
Glynn Clements <glynn@gclements.plus.com>

Glynn Clements wrote:

Richard Chirgwin wrote:

I have a few user machines with lots of maps to deal with, and I want to
centralize the map catalogues. So what I would like to do is:

- start Grass-GIS in text mode in a location (/home/user/grassdata/location)
- automatically launch the script (which is a simple bash loop on
g.mlist, calling on v.info and r.info to pull the metadata into a text file)
- exit at the end.

The script works fine if I execute it in Grass-GIS but I would like to
have it run without intervention. That way, I can schedule the catalogue
to run overnight on all machines. So is there a way to pass the script
to Grass-GIS to run 'hands-off'?
    
Just set the necessary environment variables at the top of the script.

You can get a complete list of environment variables by searching for
"export" in etc/Init.sh, but the main ones are PATH, LD_LIBRARY_PATH,
GISBASE, GISRC and GIS_LOCK.

Glynn,

(Also Hamish and Luis)

Thanks! This will make life much easier ...

Richard