Execute command from terminal on remote machine


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Execute command from terminal on remote machine
# 1  
Old 10-09-2007
Execute command from terminal on remote machine

Hi All,

I want to execute some commands on unix machine from the mac machne. I have two options for doing so, I am confused which is the best way of doing. Here are two options.

Requirement:
Execute command on the remote server machine. Commands to be executed itself contain arguments to be passed to some script.

Option1:
1. Perl script to do ssh and expect to connect to the remote machine and execute command over there.
Complexity/Overhead: If I need to execute any new command, I have to overwrite '.exp' file.

2. Use Net::SSH:Expect perl module to do so.
Complexity/Overhead: Bit difficult to install perl module on mac os. Smilie

I am confused here which is the best option which suite my requirement.

Will appreciate any guidance.

Thanks,
Ranu
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Execute ssh command with additional terminal command to any remote user not working script

Hello i am having an issue with bash script and this is the code now=$(cat hosts1.txt | awk '{print $2;}') while read n ;do ssh root@$now 'useradd test1; echo -e "test1\ntest1" | passwd test1 && echo "test1 ALL=(ALL:ALL) ALL" >> /etc/sudoers' When i execute only part with cat, it... (8 Replies)
Discussion started by: tomislav91
8 Replies

2. Shell Programming and Scripting

How can I execute local script on remote machine and include arguments?

I have a script in local server cd /home/dell/work/BOP/testdir ./processchk po (here processchk is a script & po is passed as an argument) Now I want to execute this script from remote server ssh $username@$hostname "cd /home/dell/work/BOP/testdir; ./processchk po" But Its getting error... (9 Replies)
Discussion started by: manohar2013
9 Replies

3. Shell Programming and Scripting

Execute shell script on remote machine

I want to execute a shell script(set of commands) on remote machine and that script takes input from text file(local machine). Please refer below: ssh user@hostname 'bash -s'< ./test.sh file.txt But i got the error file.txt doesn't exist. Can anyone help me on this. Content of test.sh: ... (2 Replies)
Discussion started by: manishtri88
2 Replies

4. UNIX for Dummies Questions & Answers

Execute shell script in remote machine

Hi All, We have 2 servers A and B. B is having a sctipt called b.sh in path /home/dev/scripts. Now my requirement is i want to execute b.sh from server A. Kindly help me. (3 Replies)
Discussion started by: Girish19
3 Replies

5. IP Networking

Execute script located on a remote machine

So, is there way of automating this ? My ultimate goal is to run some cmd script in windows and it should connect to a remote unix host and run a script x.sh located on the remote unix host. I was wanting to achieve this by using WinSCP and Putty only. If possible let me know how and if not... (25 Replies)
Discussion started by: mohtashims
25 Replies

6. Shell Programming and Scripting

Change user on remote machine and execute script!

Hi, I need to login into remote server and execute a shell script over there. As of now i am making use of ssh command ssh primUser@135.254.242.2 sh /poll.sh I am logging in as primUser but unless i change the user to root the script execution on the remote machine is not possible. ... (5 Replies)
Discussion started by: goutham4u
5 Replies

7. SCO

Execute command in remote

Hi, How to execute unix commands in remote unix servers? Thanks, Pintu (2 Replies)
Discussion started by: pintupatro
2 Replies

8. Shell Programming and Scripting

how to execute a script on remote machine

hi unix guru's i am new to unix shell programming. i found a trouble in executing a script(bali.ksh) which is available on serverA with username xyza, this script contains sqlplus command to retrive the data from the database available on other serverC. Now i need to run the above script... (4 Replies)
Discussion started by: balireddy_77
4 Replies

9. UNIX for Dummies Questions & Answers

execute a command in remote

how exec a command (ex. a cut or grep ) in anoter pc i have IP address, login and password. (another account of unix system) what's the sintax of command ??? es. my ip is 192.xx.xx.xx i make a exec of "ls" redirect in outpu file (> "file) in another pc ( ip 192.44.55.2xxx) (3 Replies)
Discussion started by: ZINGARO
3 Replies

10. UNIX for Dummies Questions & Answers

Plz Help : How to use write command to execute command on some other terminal

Hi Group , I m trying to execute commands on some other system using write command but inspite of executing the commands they r passed as simple messages. - i m writing >write user-id ! ls o ctrl-d inspite of executing the command ls,other terminal shows ! ls. Thnx in advance. (2 Replies)
Discussion started by: Aashish
2 Replies
Login or Register to Ask a Question
dsh(1)							      Dancer Tools reference							    dsh(1)

NAME
dsh - Distributed shell, or dancer's shell SYNOPSIS
dsh [-m machinename | -a | -g groupname] [-r remoteshellname] [-c | -w | -i | -F forklimit ] -- commandline DESCRIPTION
dsh executes command remotely on several different machines at the same time. An utility to effectively do a for a in $(seq 1 10); do rsh $a command; done in bourne shell. OPTIONS
The options available are as follows. --verbose | -v Give verbose output of the execution process. --quiet | -q Makes output quieter. --machine | -m [machinename[,machinename]*] Adds machinename to the list of machines that the command is exeuted. The syntax of machinename allows username@machinename where remote shell is invoked with the option to make it of username. From version 0.21.4, it is possible to specify in the format of username@machinename,username@machinename,username@machinename so that multiple hosts can be specified with comma-delimited values. --all | -a Add all machines found in /etc/dsh/machines.list to the list of machines that the specified command is executed. --group groupname | -g groupname Add all machines found in /etc/dsh/group/groupname to the list of machines that the specified command is executed. If groupname is on the form @netgroup then the machines in the given netgroup is used to specify the list of machines to execute on. --file machinefile | -f machinefile Add all machines found in the specified file to the list of machines that the specified command is executed. The file should list one machine specification per line (with the same syntax as the machinename argument). Lines starting with "#" are ignored. From version 0.21.4, Specifying the same machine several times using any of the machine specification options will result in multi- ple invocations merged into one. --remoteshell shellname | -r shellname Execute remote shell shellname as the remote shell. Usually any of "rsh", "remsh" or "ssh" are available --remoteshellopt rshoption | -o rshoption Add one option rshoption to the list of options passed on to the remote shell. --help | -h Output help message and exits. --wait-shell | -w Executes on each machine and waits for the execution finishing before moving on to the next machine. --concurrent-shell | -c Executes shell concurrently. --show-machine-names | -M Prepends machine names on the standard output. Useful to be used in conjunction with the --concurrent-shell option so that the out- put is slightly more parsable. --hide-machine-names | -H Do not prepend machine names on the standard output. --duplicate-input | -i Duplicates the input to dsh process to individual process that are remotely invoked. Needs to have --concurrent-shell set. Due to limitations in current implementation, it is only useful for running shell. Terminate the shell session with ctrl-D. --bufsize | -b [buffer-size in bytes] Sets the buffer size used in replicating input for --duplicate-input option. --version | -V Outputs version information and exits. --num-topology | -N Changes the current topology from 1. 1 is the default behavior of spawning the shell from one node to every node. Changing the num- ber to a value greater than 2 would result in dsh being spawned on other machines as well. --forklimit | -F fork limit Similar to -c with a limit on the number of simultaneous connections. dsh will wait before creating new connection if the limit is reached. Useful when the number of nodes to be accessed is going somewhere above 200, and using -N option is not possible. EXIT STATUS
The first non-zero exit code of child processes is returned, or zero if none returned non-zero exit code. 1 if error is found in command-line specifications. 2 if signal is received from child processes. EXAMPLES
dsh -a w Shows list of users logged in on all workstations. dsh -r ssh -a -- w Shows list of users logged in on all workstations, and use ssh command to connect. (It should be of note that when using ssh, ssh- agent is handy.) dsh -r ssh -m node1 -m node2 -c -- 'echo $HOSTNAME $(cat/proc/loadavg )' Shows the load average of machines node1 and node2. FILES
/etc/dsh/machines.list | $(HOME)/.dsh/machines.list List of machine names to be used for when -a command-line option is specified. /etc/dsh/group/groupname | $(HOME)/.dsh/group/groupname List of machine names to be used for when -g groupname command-line option is specified. /etc/dsh/dsh.conf | $(HOME)/.dsh/dsh.conf Configuration file containing the day-to-day default. BUGS
There should be a dcp for copying files to remote systems. Configuration files should really be able to do something more than it does now. AUTHOR
Junichi Uekawa (dancer@debian.org) Upstream page is available at http://www.netfort.gr.jp/~dancer/software/dsh.html SEE ALSO
rsh(1), ssh(1), remsh(1), dsh.conf(5) Debian-Beowulf/Dancer 2007 Aug 15 dsh(1)