Cheug's Blog

当前位置:网站首页 / shell / 正文

shell批量上传文件到远程主机

2024-05-16 / shell / 132 次围观 / 0 次吐槽 /
#!/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.