Re: NFS for NT( server ) to Unix

Andrew Gibbs (andrew.gibbs@bruker.co.uk)
Thu, 09 Dec 1999 15:56:59 +0000

This is a multi-part message in MIME format.
--------------B1FB5BB6BD03D03B64181CE8
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

This is a topic of importance to many users so I hope no-one minds my
repetition!

If you have access to it there is quite a nice set of instructions in
the NMR suite 2.6 for NT 'Installation Guide' (either paper manual or
'Help->Installation Guide' from XWINNMR). This details the various
possibilities which as many people have already commented are mainly:

1) some sort of recursive ftp
not ideal but will do the job!

2) put SAMBA on the SGI
make your SGI fit into the PC world

3) put NFS on the PC
make your PC fit into the UNIX world

Option (3) is probably the best if you wish to direct things from the
spectrometer SGI - it will see the NT server as just another disk drive
and can therefore use all the standard UNIX commands/cronjobs etc
(including the IconNMR 'archive data' option). However this software
may cost you money unless your computer department are already running
it on your NT server!

Note that if you wanted to take data from a NT driven spectrometer to a
UNIX server then the necessary software (here Hummingbird 'NFS Maestro')
is already installed as it is used for serving the spectrometer
console.

Option (2) is popular as the software does not require you to pay
anyone! By installing this software you can make an SGI 'look' as if it
is a Windows PC - thus a remote user can access the spectrometer disk
via 'drag and drop' in the windows explorer or whatever. If the SAMBA
options are set to 'read-only' then external users cannot alter data on
the spectrometer.

The only difficulty you may have is if you need to get the spectrometer
to 'put' the data to a PC (rather than the PC 'getting' it) - e.g. to
copy automation data as soon as it is acquired (so that users can always
access it from the PC server disk rather than the spectrometer), or to
use a SGI cron job. SAMBA does allow this using 'smbclient', which you
can drive using a suitable UNIX or AU program - an example of which is
attached to this mail. With SAMBA you can also share an SGI printer to
the PC network if you wish to (but maybe not the one on your
spectrometer!)

A version of SAMBA can be downloaded from the Bruker ftp server in
/pub/nmr/binaries.indy, otherwise you might like to start with
www.samba.org.

Hope this helps someone!

Andrew

--
 Coventry telephone numbers will change in April 2000. 
 The new number (which can be used now) is shown below. The
 old number will continue to work until the change over.
/****************************************************************
 Dr Andrew Gibbs               Phone (+44) 02476855200
 Applications Scientist        Fax   (+44) 02476465317
 Bruker UK Limited             email: andrew.gibbs@bruker.co.uk
 Coventry  CV4 9GH                    
 England
*****************************************************************/
--------------B1FB5BB6BD03D03B64181CE8
Content-Type: text/plain; charset=us-ascii;
 name="smbcopy"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="smbcopy"

/* smbcopy

Illustrate use of the SAMBA smbclient program to copy data from SGI to PC, i.e. to 'put' data to the PC rather than having to 'fetch' it from the PC.

This example assumes that a 'data' directory on the pc has been shared and that the SGI user and nmr directories are to be preserved:

SGI: /u/data/user/nmr/name/expno/pdata/procno copies to PC: <share>/user/nmr/name/expno/pdata/procno

where <share> is PC access point, e.g. C:\data

Everything in the current dataset from the 'user' downwards will be recreated on the PC.

andrew.gibbs@bruker.co.uk 980211 */

/****************************************************************/ /****** change the following to suit your SAMBA settings! *******/ /****************************************************************/

/****** where is your smbclient program? */ #define SMBCLIENT "/usr/local/samba/bin/smbclient"

/****** what PC 'share' do you need to access? */ /****** note you need four \'s per normal \, here \\donald\data */ #define PCSHARE "\\\\\\\\donald\\\\data"

/****** user name and password for PC access */ /****** Preferably do not use Administrator! */ #define PCUSER "Administrator" #define PASSWORD "agor"

/****** show smb output to console, or change to /dev/null ! */ #define OUTPUT "/dev/console"

/* define some string variables */ char login[255], dataset[255];

/* pipe for talking to smbclient */ FILE *pipe;

/* set name, procno, expno etc to current dataset */ GETCURDATA

/* build the login string */ sprintf(login, "%s %s %s -U %s > %s 2>&1", SMBCLIENT, PCSHARE, PASSWORD, PCUSER, OUTPUT);

/* path to current fid directory */ sprintf(dataset, "/%s/data/%s/nmr/%s/%d", disk, user, name, expno);

if ( ( pipe=popen(login, "w") ) != NULL ) { /* create remote user/nmr directories */ fprintf(pipe, "mkdir %s\n", user); fprintf(pipe, "cd %s\n", user); fprintf(pipe, "mkdir nmr\n"); fprintf(pipe, "cd nmr\n");

/* acquisition data directories */ fprintf(pipe, "lcd %s\n", dataset); /* change local dir to expno) */ fprintf(pipe, "mkdir %s\n", name); /* make remote 'name' */ fprintf(pipe, "cd %s\n", name); fprintf(pipe, "mkdir %d\n", expno); /* make remote 'expno' */ fprintf(pipe, "cd %d\n", expno);

/* copy acquisition data */ fprintf(pipe, "prompt\n"); /* turn off prompting for mput */ fprintf(pipe, "mput *\n"); /* copy fid, acqus, ... */

/* processed data */ fprintf(pipe, "lcd pdata/%d\n", procno);/* change local dir to procno */ fprintf(pipe, "mkdir pdata\n"); /* make remote 'pdata' */ fprintf(pipe, "cd pdata\n"); fprintf(pipe, "mkdir %d\n", procno); /* make remote 'procno' */ fprintf(pipe, "cd %d\n", procno); fprintf(pipe, "mput *\n"); /* copy 1i, 1r, procs.... */

/* rather that 'mput' you might want to only copy selected files, e.g: fprintf(pipe, "put 1r\n"; fprintf(pipe, "put 1i\n"; fprintf(pipe, "put procs\n"; .... and so forth! */

pclose(pipe); } QUIT

--------------B1FB5BB6BD03D03B64181CE8--