• linux文件分发脚本


    1.说明

    此脚本可分发两类文件,1.固定内容文件,2.(每台被分发主机)内容不同的文件

    ppp.sh为拨号脚本,每台被分发主机内容不同

    根据分发文件名字不同(ppp.sh和其他文件)自动选择分发方式

    2.脚本

    #!/bin/sh
    
    files=$1
    ip=$2
    port=$3
    
    [ -z "$files" ]&&{
    echo '10001'
    exit 0
    }
    
    [ -z "$ip" ]&&{
    echo '10002'
    exit 0
    }
    
    [ -z "$port" ]&&{
    echo '10003'
    exit 0
    }
    
     
    
    
    path=1
    
    if [ "$files" = "ppp.sh" ];then
    dir=`cat /proc/sys/kernel/random/uuid`
    rm -rf /tmp/.$dir
    mkdir /tmp/.$dir
    
    cp ppp0.txt /tmp/.$dir/ppp.sh
    echo "ip2='"$ip"'" >> /tmp/.$dir/ppp.sh
    echo "sshport='"$port"'" >> /tmp/.$dir/ppp.sh
    cat ppp1.txt >> /tmp/.$dir/ppp.sh
    
    ssh -o ConnectTimeout=3 -p $port root@${ip} date > /dev/null
    if [ $? -eq 0 ];then
    scp -P $port /tmp/.$dir/ppp.sh root@${ip}:/root
    if [ $? -ne 0 ];then
    echo '10007'
    rm -rf /tmp/.$dir
    exit 0
    fi
    
    ssh -o ConnectTimeout=6 -p $port root@${ip} 'chmod 700 ppp.sh'
    if [ $? -eq 0 ];then
    echo '10000'
    rm -rf /tmp/.$dir
    exit 0
    else
    echo '10005'
    rm -rf /tmp/.$dir
    exit 0
    fi
    else
    echo '10004'
    rm -rf /tmp/.$dir
    exit 0
    fi
    else    
    
    [ -f "$files" ]||{
    echo '10006'
    exit 0
    }
    
    ssh -o ConnectTimeout=3 -p $port root@${ip} date > /dev/null
    if [ $? -eq 0 ];then
    scp -P $port $files root@${ip}:/root
    if [ $? -ne 0 ];then
    echo '10007'
    exit 0
    fi
    
    temp=`ssh -o ConnectTimeout=6 -p $port root@${ip} "sh $files"`
    if [ $? -eq 0 ];then
    echo '10000'
    exit 0
    else
    echo '10005'
    exit 0
    fi
    
    else
    echo '10004'
    exit 0
    fi
    
    fi
    [root@zxserver05 sync_script]# ./sync_script.sh ppp.sh wzdx1.leyuyun.com 20380
    ppp.sh                                                                   100% 2869     2.8KB/s   00:00    
    10000
    10000--执行成功
    10001--文件未指定
    10002--ip未指定
    10003--port未指定
    10004--ssh连接失败
    10005--文件远程至讯失败
    10006--指定文件不存在
    10007--文件上传失败

    注:分发"其他"类型的文件,最好指定决定路径。

  • 相关阅读:
    windows 10 下部署WCF 一些细节
    系统提示 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。
    zookeeper常用命令
    zookeeper安装与配置
    Java访问者模式
    总结设计模式—(大话设计模式下篇)
    总结设计模式—(大话设计模式中篇)
    总结设计模式—(大话设计模式上篇)
    Java中间缓存变量机制
    解释模式
  • 原文地址:https://www.cnblogs.com/vijayfly/p/6230949.html
Copyright © 2020-2023  润新知