How to automate interactive telnet commands? - automation

I would like to query a telnet server on port 105. What I have to do currently is start an interactive session and enter the commands later one by one.
Since I already know the commands, I would like to automate this process and fetch the results without any manual intervention.
When I try to use pipe to push commands at the time of logging in, this doesn't work. Any help is highly appreciated.

You are probably looking for a tool like expect.

Since you do not say what OS you use, and what kind of script language you want to use I will just provide a few suggestions for further reading.
this questions might answer what you are looking for.
Also I found this that could help you out a bit.

Related

Where to find a thorough list of node_redis commands?

I'm using redis to store the userId as a key and the socketId as the value. What's more important is that the userId doesn't change, but the socketId constantly changes. So I want to edit the socketId value inside redis, but I'm not sure what node_redis command to use. I'm currently just editing by using .set(userId, mostRecentSocketId).
In addition, I haven't found a good node_redis API anywhere with a complete list of commands. I briefly looked at the redis-commands package, but it still doesn't seem to have a full list of complete commands.
Any help is appreciated; thanks in advance :)
The full list of Redis commands can be found at https://redis.io/commands. After finding a proper command it wouldn't be hard to find how is it proxied in binding ("api") you use.
Upd. To make it clear: you have Redis Server, its commands are listed at the doc I provided. Then you have redis-commands - it's a library for working with redis (I called it a "binding"). My point was that redis-commands may have not all the commands that redis-server can handle, and also the names of some commands can differ a bit. Some other bindings can offer slightly different set of commands. So it's better to examine the list of commands that Redis Server handles, and then select a binding that allowes calling that command (I guess all the bindings have set method)

How to check if the cloudera services like hive, Impala are running or not through java code?

I want to run some hive queries, and then need to collect different metrics like hdfs bytes read/write. For this I have written java code. But before running the code I just want to check if the cloudera services like hive, impala, yarn are running or not. If running then the code need to execute otherwise just exit. Is there any way to check the status of services by java code?
Sampson S gave you a correct answer, but it's not trivial to implement. The information is available via the REST API of the Cloudera Manager (CM) tools offered by Cloudera. You would have your Java program make a web GET request to CM, parse the JSON result and use that to make a decision. Alternatively, you could look at the code behind their APIs to make a more direct query.
But I think you should ask "Why?" What are you trying to accomplish? Are you replicating the functionality already provided by CM? When asking questions here on SO it's always helpful to provide some context. It seems like you may be new to the environment. Perhaps it already does what you want.

why server.transfer process slow in vb.net?

I need your help, I have a problem with server.transfer code in vb.net, it runs so slow..
My Question:
Why does it run slowly (take 5 minutes to move between web pages (.aspx))?
What should i check for this trouble?
Is it because operating system? Im use windows 7, before i used windows XP there is no problem like this...
is server.transfer related to database connection (not sure)? I use mysql (XAMPP packages).
Or may be because other configuration that i miss out in windows seven.
FYI: i try in several web browser same result(loading 5 minutes)..
Thank every one that answer my question, thank you very much!
One thing I've found on this is that it can have to do with the status code the transferred page returns. If it returns a 500 error, it can make your server transfer run upwards of five minutes.
One way to test this, if you can, is to run the transferred page in isolation and generate any of the information being transferred on the other side to see if any errors are generated.
It took me a day to figure this out. Hopefully it helps someone else.

Shell Scripting and Intersystems Cache: Extracting Information?

I would like to be able to execute a script to draw out the current cache process information. Has anybody done much scripting with cache? Is there an easier way to basically log the process information? The end result of this is I would like to present this information in a way that I could log it into Splunk
You try to solve an easy problem using the hard way. Just use the built-in SNMP provider.
The documentation for Cache 2008.2.6 contains a document Monitoring Cache Using SNMP.

How do you write a ksh script that automatically fills in user input?

Is there any way to automate the user input in a ksh script?
I realize that in many instances you can create an expect script to do exactly what I am saying, but expect is not installed on the server and there is no chance of that occurring in the near future. But I still need a method of automating user input so the only reaction required is to start the script.
If you have the complete set of "user" input, you can redirect stdin:
script.ksh <userinputfile
If you have some of it, or generate it on the fly, you can use "hereis" documents.
If you are going to be parsing prompts, the easiest way, as you mention, the easiest way is to use Expect. Even if Expect isn't available on the server, it'll be easier for you to include as much Tcl/Expect as necessary to do your parsing than to rewrite and redebug it.