Linux
psh script
alwaysu012
2016. 6. 13. 14:27
#!/bin/sh
HOSTLISTFILE="/usr/local/bin/hadoop"
#Error display function
Error_Show() {
case "$1" in
1) echo 'Usage: psh node[,node] command';;
2) echo "psh::Hostlist file not exist";;
*) echo 'psh:Unknown Error';;
esac
exit 1
}
[ "$#" -lt "2" ]&&Error_Show 1
[ ! -f "$HOSTLISTFILE" ]&&Error_Show 2
NODELIST=$(cat "$HOSTLISTFILE" | egrep $(echo $1 | sed "s/,/|/g") | awk '{print $1}')
shift
for NAME in $NODELIST
do
ssh -q -x "$NAME" $* >&1 | sed "s/^/"`echo $NAME|cut -f 1 -d '.' | cut -c -15`:" /g"
done