脚本的放置位置
1. /home/username/bin
mkdir bin/
cd bin/
touch xsync
vim xsync
...
- 你可能会报这个错xsync: command not found
解决: 用户bin目录下,sudo cp xsync bin/
2. /usr/local/bin
xsync
#!/bin/bash
pcount=$#
if((pcount==0));then
echo no args;
exit;
fi
p1=$1 fname=`basename $p1`
echo fname=$fname
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
user=`whoami`
for host in Master Slave1 Slave2; do
echo $pdir/$fname $user@$host:$pdir
echo --------------- $host ----------------
rsync -rvl $pdir/$fname $user@$host:$pdir
done
- 我被坑的地方
user=whoami
: 我以为whoami要改成自己的用户名,唉小丑了,这其实是一句shell命令
- for循环的host可根据自己的hostname进行更改
xcall
#!/bin/bash
params=$@
for host in Master Slave1 Slave2 ; do
echo ============= $host $params =============
ssh $host "$params"
done
- 接下来 找到你的java的位置,例如我的位置
/usr/local/jdk1.8.0.152/bin/jps
- 随后执行
ln -s -f /usr/local/jdk1.8.0.152/bin/jps /usr/local/bin/jps
,每台机器都要
- 给权限
chmod 777 xcall