复制文件夹到集群所有节点的相同目录下的shell脚本
程序员文章站
2024-03-09 09:56:29
...
复制文件夹到集群所有节点的相同目录下的shell脚本
代码
#!/bin/bash
##在/usr/local/bin这个目录下存放的脚本
#,root用户可以在系统任何地方直接执行
# rsync -rvl $dir_name/$base_name [email protected]$hostname:$dir_name
# 1.获取当前dir 和 dir
if (( $# == 0 )); then
echo no params;
exit;
fi
base_name=`basename $1`
echo $base_name
dir_name=`cd -P $(dirname $1);pwd`
# 2.获取user和hostname 即目的位置
user=`whoami`
# 3. 循环执行rsync命令
for (( i = 100; i < 节点数量; i++ )); do
echo ------------------- hadoop$i --------------
#操作远程机器并且返回来
ssh hadoop$i "mkdir -p $dir_name"
rsync -rvl $dir_name/$base_name $user@hadoop$i:$dir_name
done
结果