LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Running commands over ssh (https://www.linuxquestions.org/questions/programming-9/running-commands-over-ssh-258992/)

iago 11-24-2004 07:16 PM

Running commands over ssh
 
I need to write a small C program on Linux that'll connect to my other server and grab some info from other files. Is there any easy way to set up a ssh connection in C that'll look after this, or would it be easier to actually call out to the "ssh" program and work through that?

Thanks for any help!

m00t00 11-24-2004 07:57 PM

if its just grabbing files, look at scp. you can do that is a simple shell script...

iago 11-24-2004 08:12 PM

Well, I need to pull out some status information from the other computer (/proc/cpuinfo, and stuff), I need to keep track of load and such. But I can make a call out to scp from the C program to get the files, do the analysis, and remove them. That'll work great!

Thanks!

iago 11-25-2004 09:12 AM

Hmm, apparently I can't do "scp othercomputer:/proc/cpuinfo ." -- it comes over as "0" bytes, the file isn't generated.

Anybody else else know how I can pull over a snapshot of these files?

Thanks

m00t00 11-27-2004 03:30 PM

oh. /proc files.... /proc files dont really exist, theyre a bit of kernel memory.

iago 11-27-2004 04:41 PM

I know that. But when you run a command on it, like cat, it outputs the appropriate content, which can be redirected into a file. I was hoping there'd be a way to copy them over the network easily, so I can analyze them remotely. It's sounding like it's going to be a lot of trouble.

I'm thinking I should run a server remotly that serves up the info on request, rather than fetching it. It's not a big deal if anybody who can connect to the server can get the info off it, it's nothing important (I want to be able to get info such as cpu usage, etc. on my network computers).

twantrd 11-27-2004 07:22 PM

why not ssh into the remote computer, cat all the files you need and redirect them to a text file, and then scp that file to your local machine (all done with a simple script). That's what I would do.

-twantrd

Cedrik 11-28-2004 10:04 AM

you could use :
Code:

cat /proc/cpuinfo | ssh <remotehost> "cat > cpuinfo"
Then cpu infos should be in the cpuinfo file in the remote host home directory

or :
Code:

ssh <remotehost> "cat /proc/cpuinfo" > cpuinfos
The cpu infos from remote host are written in the local file cpuinfos in current directory

iago 11-28-2004 12:13 PM

Quote:

Originally posted by Cedrik
Code:

ssh <remotehost> "cat /proc/cpuinfo" > cpuinfos

THAT is perfect. I didn't know you could do that! Thanks a bunch!

Code:

iago@Slayer:~$ ssh darkside "cat /proc/cpuinfo" > cpuinfos
iago@Slayer:~$ cat cpuinfos | head
processor      : 0
vendor_id      : AuthenticAMD
cpu family      : 5
model          : 8
model name      : AMD-K6(tm) 3D processor
stepping        : 0
......



All times are GMT -5. The time now is 03:48 PM.