zoukankan      html  css  js  c++  java
  • 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--文件上传失败

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

  • 相关阅读:
    Max Sum Plus Plus HDU
    Monkey and Banana HDU
    Ignatius and the Princess IV HDU
    Extended Traffic LightOJ
    Tram POJ
    Common Subsequence HDU
    最大连续子序列 HDU
    Max Sum HDU
    畅通工程再续
    River Hopscotch POJ
  • 原文地址:https://www.cnblogs.com/vijayfly/p/6230949.html
Copyright © 2011-2022 走看看