shell批量上传文件到远程主机
2024-05-16 / shell / 185 次围观 / 0 次吐槽 /Bash
#!/bin/bash
# 检查并创建必要的输出文件
for file in Error.txt
do
if [ ! -f "$file" ]; then
touch "$file"
fi
done
# 目标目录
REMOTE_DIR="/home/weihu"
# 本地目录
LOCAL_FILE="/path/to/local/file"
# 读取serverlist.txt文件
while IFS=' ' read -r ip user_password; do
# 使用普通用户weihu和遍历到的普通用户密码登录目标服务器
#sshpass -p "$user_password" scp "$LOCAL_FILE" "weihu@$ip:$REMOTE_DIR"
sshpass -p "$user_password" rsync -avh --progress "$LOCAL_FILE" "weihu@$ip:$REMOTE_DIR"
# 检查上传结果
if [ $? -eq 0 ]; then
echo "${ip} 文件上传成功。"
else
echo "${ip} 文件上传失败。" | tee -a Error.txt
fi
done < serverlist.txt
Powered By Cheug's Blog
Copyright Cheug Rights Reserved.