G
Gast123
Hallo Leute,
für ein Netzwerk habe ich ein Script geschrieben, welches iterativ ein Programm via ssh auf einem entfernten Rechner ausführen soll.
./.wks.list:
Dabei sind wks-1 und barrechner nicht zu erreichen (das ist OK).
Allerdings terminiert das Script nach der ersten erfolgreichen Ausführung von ssh.
Was passiert da?
LG
Schard
für ein Netzwerk habe ich ein Script geschrieben, welches iterativ ein Programm via ssh auf einem entfernten Rechner ausführen soll.
Code:
#! /bin/bash
#########################################
# /srv/scrips/recurse-wks #
# #
# Execute commands as root on all #
# remote workstations in the #
# ./.wks.list #
# #
# (C) 2011 by Richard Neumann #
# under the terms of the GPL #
#########################################
WKSLIST=`dirname $0`/.wks.list
LOGFILE=/var/log/`basename $0`.log
USAGE="\
Usage: `basename $0` [commands]"
if [ $EUID -ne 0 ]; then
echo "***`basename $0`: You must be root to run this script!" 1>&2
exit 1
fi
if [ $# -lt 1 ]; then
echo $USAGE
exit 1
fi
while read WKS; do
echo "Executing \"$@\" on \"$WKS\"." | tee $LOGFILE
ssh $WKS "$@"
done < $WKSLIST
Code:
wks-1
wks-2
barrechner
Allerdings terminiert das Script nach der ersten erfolgreichen Ausführung von ssh.
Code:
[root@weinheim lsa]# /srv/scripts/recurse-wks echo foo
Executing "echo foo" on "wks-1".
ssh: connect to host wks-1 port 22: No route to host
Executing "echo foo" on "wks-2".
foo
[root@weinheim lsa]#
Was passiert da?
LG
Schard