Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

DCL Programming - Executing COM files in remote machine through FTP/TELNET

SOLVED
Go to solution
Ragavendran_1
Occasional Advisor

DCL Programming - Executing COM files in remote machine through FTP/TELNET

Hi All,

I have the following things to be done, kindly suggest me which one will do FTP / TELNET.

1. Connect to remote machine.
2. Execute the COM files, (Logicals pointing to
directories should locate to the remote)

I am trying to create a DCL script to do this, i have options in FTP using SPAWN command or any command using TELNET connection.

Kindly help me in figureout the better way.

Regards,
Ragav.
24 REPLIES
Rexx
Occasional Visitor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

Not sure exactly what you mean but you could setup a remote proxy on your destination system and then run your COM from your source system if both systems are running vms and can connect via decnet

e.g.

On destination system (NODE2) add the following proxy

LOCAL:.NODE1::user_name
user_name (D)

From source system (NODE1) you can execute the COM file on destination system (NODE2)

e.g. @NODE2"user_name"::ABC.COM


Joseph Huber_1
Honored Contributor
Solution

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

If the DECnet remote executionn is not available (only TCPIP ?), then no, telnet or ftp is not the right direction, but rsh/rexec or the secure SSH.
e.g.
RSH remotenode "@test.com"
SSH remotenode "@test.com"

For RSH You need TCPIP communication proxies defined (assuming it is "HP TCPIP services for VMS", see TCPIP HELP ADD PROXY),
for SSH proper authorization (public key, host based ...).
http://www.mpp.mpg.de/~huber
Joseph Huber_1
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

Ragav,
>> have options in FTP using SPAWN command

This is a misunderstanding of the SPAWN command in (VMS-) FTP:
it spawns a subprocess on the LOCAL node, i.e. the node where the ftp client is invoked, does not execute on the remote node, i.e. the one the ftp client has opened.
To send a command to the remote ftp server, the quote command is the right tool.
But I doubt any FTP server will execute a SPAWN command.
try "quote spawn show time" on your site !
http://www.mpp.mpg.de/~huber
Joseph Huber_1
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

Finally, in addition to the DECnet remote object execution, which is "synchronous", i.e. DCL is waiting until the remote job ends, there is the possibility to submit a batch job to the remote node.
See HELp SUBMIT /REMOTE .

Example:
SUBMIT/REMOTE remotenode::test.com

But be aware, this batch execution is restricted to the remote nodes SYS$BATCH queue, and the logfile is always printed to the remote SYS$PRINT.
http://www.mpp.mpg.de/~huber
Ragavendran_1
Occasional Advisor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

Wow.. Thanks for immediate reponse.

My problem is to run the COM file which is present in the remote system (R1)
i need to connect from the localnode (L1) using FTP/ TELNET.

I can connect to R1 by

$ FTP R1_addr
User
pass
SET DEF ld_disk1:[xxx.bin]
SPAWN @PROGRAM.COM

// Here the logicals present in the com files refers to the L1 instead of
R1. So the files accessed in the R1 COM refers to L1 file.

REXX:

I am sorry, i dont know how to set up the proxy for the remote node (R1).
That will be not a good idea to, since the remote node is not stable it will change
every time.

JOSEPH:

Yes, i agree we can use the SPAWN command in the local node, as you said
the file accessing mechanism fails here. the file location points to the local node(L1) in stead of remote node (R1).

Sorry, the QUOTE command is not avalible in my system. If it there it would be great help. ok let me try some other functions.

SUBMIT command looks good for me, one problem is i need to specify the directory in the
command my COM file is in ld_disk1:[xxx.bin] and program.com is the file in R1.


$ SUBMIT/REMOTE RNODE::ld_disk1:[xxx.bin]PROGRAM.COM
%SUBMIT-F-OPENIN, error opening ld_disk1:[xxx.bin]PROGRAM.COM; as input
-RMS-E-FND, ACP file or directory lookup failed
-SYSTEM-F-INVLOGIN, login information invalid at remote node

I Landup with the above error.

Kindly let me know how to set the directory options.

Regards,
Ragav
Joseph Huber_1
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

The remote submit needs DECnet proxy in the same way as the remote object execution as described by Rexx,
or You have to specify "user password" in the remote node specification like
remotenode"user password"::
which of course is not a good idea.

I don't know what You mean to be not able to use proxies "because nodes change"?
Of course You need the proxies for all possible nodes where You want to execute.
The same applies for RSH, just the proxies are not DECnet but TCPIP proxies, and they are (unfortunately or fortunately) different sets of proxies.
http://www.mpp.mpg.de/~huber
Joseph Huber_1
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

I forgot to answer this
>>Kindly let me know how to set the directory options.

There is nothing to set directories. My example was just assuming test.com in the users home directory, of course the full syntax is
submit/remote node"user pw"::dev:[dir]file.typ

The error was because "login information not valid": missing proxies or "user pw" as explained in last reply.
http://www.mpp.mpg.de/~huber
Joseph Huber_1
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

And to make testing shorter:
Yiou can test of course before making the proxy entries: just use
RNODE"user password":: for the remote node string.
or
RSH/user=user/password=pw rnode command

and define the proxies later for production.
http://www.mpp.mpg.de/~huber
Joseph Huber_1
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

My final tip for remote command execution (not just command files):
Install the REMOTE command:
http://wwwvms.mppmu.mpg.de/util_root/com/remote.com

Then execution is as simple as
REMOTE rnode show users/full

http://www.mpp.mpg.de/~huber
Ragavendran_1
Occasional Advisor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

Thanks Joseph,

I am really happy to receive your valuable replies :)

My system and the remote system is not having DECNET enabled. I can use FTP / TELNET, but in FTP even if i use the SPAWN command to execute the files it refers the local version of that file.

I have to figureout the TELNET more deeper i guess.

REMOTE command you suggested, i guess i cant introduce for completing this job. Still i am happy digging the REMOTE command.

Kindly help me in TELNET and FTP stuffs to execute the COM and EXE files in remote machine.

Thanks in Advance.

Regards,
Ragav.
Joseph Huber_1
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

>>My system and the remote system is not having DECNET enabled.

But Your previous response showed a response to the SUBMIT/REMOTE command, so there IS DECnet, both on the local as on the remote system!

>> I can use FTP / TELNET, but in FTP even if i use the SPAWN command to execute the files it refers the local version of that file.
>>I have to figureout the TELNET more deeper i guess.

Since You have Telnet and Ftp, You have TCP/IP, and can enable either RSH or SSH.
Neither Telnet nor Ftp have the capability to
send DCL commands to a remote system, (You can dig into Telnet as deep as You like, You will not find such capability).

Decnet remote object/remote submit and TCPIP
RSH/SSH are designed for this purpose. Full stop.
http://www.mpp.mpg.de/~huber
Steven Schweda
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

> Neither Telnet nor Ftp have the capability
> to send DCL commands to a remote system,
> (You can dig into Telnet as deep as You
> like, You will not find such capability).

Strange. I Telnet to remote systems and
send them commands all the time.

It's also possible to script Telnet sessions
using Kermit. For example

alp $ type ksd.com
$ kermit + sys$input alp-l sms/nocommand insert_password_here
telnet \%1
input 2 Username:
output \%2\13
input 2 Password:
output \%3\13
input 2 $
output show default\13
input 2 $
output logout\13
alp $

alp $ @ ksd.com
DNS Lookup... Trying 10.0.0.9... Reverse DNS Lookup... (OK)

Sorry, Kermit's CONNECT command requires a real terminal;
It can't be used in a batch job.
Use INPUT and OUTPUT commands instead.


I'm ALP. Who are you?

Username: sms/nocommand
Password:

Welcome to VMS (Alpha) V7.3-2 on ALP.

Unauthorized use is prohibited.

Last interactive login on Friday, 5-JUN-2009 09:02:41.81
Last non-interactive login on Saturday, 23-MAY-2009 22:06:12.70
$ show default
HOME_SMS:[SMS]
$
alp $
Joseph Huber_1
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

Steven, Yes of course, but Telnet as well as kermit is interactive login, which needs a terminal.
I understood the OP wants to execute a remote command (e.g. out of a command file), and don't understand why he refuses to use RSH/SSH/decnet objects.
http://www.mpp.mpg.de/~huber
RBrown_1
Trusted Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

I run kermit in batch to script a telnet session. Take Steven's example and change the "telnet %1" to "set host %1" and I expect that the warning about no batch jobs will go away.
Steven Schweda
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

> I run kermit in batch to script a telnet
> session.

Same here. I use it do do some things with
my Cisco 628 DSL modem/router.

> Take Steven's example [...]

True. And, as batch jobs, both procedures
work the same as they do interactively.
Joseph Huber_1
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

I understand Kermit scripting is the only choice when the remote part is a system like routers,switches or printers, which offer only interactive terminal access, not remote shell types.

The original question was about executing DCL commands or procedures on a remote VMS system.
IMHO it is inapropriate to script a terminal session (containing clear text user/password !) just to do that, while RCP/SSH or DECnet remote object is available.
And everytime Your password changes, then the script has to bedited, and such a script can't be offered to other users because of the password inside.
The only reason to do that on VMS I could imagine is, if the remote task involves some kind of dialogue which makes it necessary to pretend to be a terminal session.
http://www.mpp.mpg.de/~huber
Steven Schweda
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

> And everytime Your password changes, then
> the script has to bedited, and such a
> script can't be offered to other users
> because of the password inside.

I haven't tried it, but I'd guess that one
could write a script/procedure which would
extract a password from a ".netrc" file,
which would solve (or at least alleviate)
these problems.

> IMHO it is inapropriate [...]

Fine, but that's different from saying that
it's impossible.
Rexx
Occasional Visitor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

To add the proxy use the following command

mc authorize -
add/proxy node1::username1 username2

You would run this command on node2
username2 is the username on node2

This will mean you will not need to enter a password with your remote command. From what you have stated above it looks like DECnet works between you two nodes.

To view proxies run command

mc authorize show/proxy *::*



Ragavendran_1
Occasional Advisor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

Hi All,

Really thanks to everybody for your different ways in executing remote node's files.

Due to my system architecture i can't use any Decnet commands / functions.

I have come to a conclusion that i will transfer a COM file from local node to the remote machine specific directory thru FTP. When one EOD a batch is executed in my system everyday the new COM will be executed. This will complete my required process.

I think we may have many technical advantages other than this, but my business team have come up with this flow finally.

I will make a notes on this study based on your responses and will try to implement in this in my system after sometime.

Again heartly thanks for your suppport.
Please do keep me in loop for any challenging and difficult process since i am eager to learn new things..

Regards,
Ragav.
SAMI AHMAD
Regular Advisor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

hmm no one suggested SYSMAN ?

mc SYSMAN
SYSMAN>SET ENV/NODES=(NODE1,NODE2)
SYSMAN>DO SHOW SYSTEM
Jon Pinkley
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

RE:"hmm no one suggested SYSMAN ?"

Perhaps because it does not work without DECnet, and Ragav has stated "Due to my system architecture i can't use any Decnet commands / functions."

See the following thread.

SYSMAN to remote systems w/o DECnet?

http://forums.itrc.hp.com/service/forums/questionanswer.do?threadId=1050129

it depends
Jon Pinkley
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

We can assume that Ragav doesn't have a cluster, or he would be using cluster features to do what he needs. In a cluster SYSMAN doesn't use DECnet, it uses SCS.

Jon
it depends
Joseph Huber_1
Honored Contributor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

Ragan.
fine if You have a working solution.

But just for curiosisty, why
>>
Due to my system architecture i can't use any Decnet commands / functions.
>>
?
Since in Your reply from Jun 4, 2009 09:51:04 GMT
showed us :
>>
$ SUBMIT/REMOTE RNODE::ld_disk1:[xxx.bin]PROGRAM.COM
%SUBMIT-F-OPENIN, error opening ld_disk1:[xxx.bin]PROGRAM.COM; as input
-RMS-E-FND, ACP file or directory lookup failed
-SYSTEM-F-INVLOGIN, login information invalid at remote node
>>

which clearly confirms there IS DECnet between local and RNODE, the command failed just because of missing user authorization (or proxy).



http://www.mpp.mpg.de/~huber
Ragavendran_1
Occasional Advisor

Re: DCL Programming - Executing COM files in remote machine through FTP/TELNET

Thanks for all your comments and replies.