免密登录
生成ssh密钥
分发密钥
- ssh-copy-id 机器名
- ssh-copy-id centos7-100
同步文件脚本
- 安装同步命令:yum install -y xsync
- 创建文件:/usr/bin/xsync
- 修改文件权限:chmod +x xsync
- .示例:xsync local.txt centos7- 100 102
- 把本地的local.txt 同步到centos7-100,centos7-101,centos7-102
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if ((pcount==0)); then
echo no args
echo example : sync 本地文件名 机器前缀 开始序号 截止序号
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
prefix=$2
start=$3
end=$4
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
echo user=$user
#5 循环
for ((i=$start; i<=$end; i ++))
do
echo sync from $pdir/$fname to $prefix$i:$pdir . 0%
rsync -av $pdir/$fname $user@$prefix$i:$pdir
echo sync from $pdir/$fname to $prefix$i:$pdir . 100%
done
同步执行脚本
- 创建文件:/usr/bin/xcall
- 修改执行权限:chmod +x xcall
- 示例:xcall "pwd"
#!/bin/sh
pcount=$#
prefix=centos7-
start=100
end=102
if((pcount==0));then
echo no args
exit;
fi
for((host=$start; host<=$end; host++)); do
echo ==================$prefix$host==================
ssh root@$prefix$host $@
done