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--文件上传失败

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

  • 相关阅读:
    css选择器中:first-child与:first-of-type的区别
    Chrome 快捷键
    notepad++ html格式化
    Linux VFS的主要的数据结构
    Linux根文件系统介绍
    Linux文件系统测试工具
    p​o​s​t​m​a​r​k​使​用
    虚拟文件系统
    linux文件系统初始化过程(6)---执行init程序
    linux文件系统初始化过程(4)---加载initrd(中)
  • 原文地址:https://www.cnblogs.com/vijayfly/p/6230949.html
Copyright © 2011-2022 走看看