如何批量的将文件上传到集群的每一台机器
思路:首先需要手动上传到1台主电脑上,然后再在该电脑上去运行shell脚本,从而实现批量上传或下架操作。用之前注意你的用户名是不是root,然后IP地址更改为你自己的IP地址!!!
代码展示如下:
!/bin/bash
while true
do
read -p '请输入是否继续使用(输入y继续)' okkk
o=$okkk
if [ "$okkk" == "y" ]
then
echo -e "欢迎来到批量上传或下架shell脚本\n--------------------------\n1. 功能一:批量上传
\n2. 功能二:批量删除"
read -p '请输入你的选择(1 or 2):' choose
c=$choose
case $c in
1) echo "你的选择是功能一:批量上传"
# 进入文件上传的地方去查看文件全名
cd /opt
ls -l
read -p '请输入你要上传的文件全名:' file
f=$file
read -p '请输入主机号后三位做为开头' start
s=$start
read -p '请输入主机号后三位作为结尾' end
e=$end
read -p '请输入你需要存储的位置' where
w=$where
for i in $(seq $s $e) ; do
echo "ip地址为192.168.234.$i"
echo "正在存储..."
scp $f root@192.168.234.$i : $w
echo "存储完毕!!!"
done ;;
2) echo '你选择的是批量删除'
echo "你的选择是功能二:批量删除"
# 查看文件全名
cd /opt
ls -l
read -p '请输入你要删除的文件全名:' file
f=$file
read -p '请输入主机号后三位做为开头' start
s=$start
read -p '请输入主机号后三位作为结尾' end
e=$end
read -p '请输入你需要删除的文件位置' where
w=$where
for i in $(seq $s $e) ; do
echo "ip地址为192.168.234.$i"
echo "正在删除..."
ssh root@192.168.234.$i "rm -rf $f"
echo "删除成功!!!"
done ;;
esac
else
echo '欢迎下次使用!!!'
echo #?
break;
fi
done