Erlo

shell批量执行命令与文件传输脚本

2023-09-21 20:00:01 发布   48 浏览  
页面报错/反馈
收藏 点赞

shell批量执行命令与文件传输脚本

需求:

对未进行主机信任操作的服务器进行批量操作

实现:

由于ssh只能在交互模式中输入服务器密码进行登录登操作,不便于进行大批量服务器进行巡检或日志采集。sshpass恰好又解决了这个问题,使用ssh -p passwd可以实现命令行输入密码操作,便于进行规模巡检

脚本使用方法:

  1. 首先需要在脚本执行机器上安装sshpass,可以使用yum进行安装

    # yum方式安装
    yum -y install sshpass
    
    
  2. tools.sh脚本以及使用方式

    #!/bin/bash
    # 利用sshpass实现对服务器进行批量操作
    arg_num=$#
    file=$2
    cmd=$4
    c1=$1
    c3=$3
    c4=$4
    c5=$5
    c6=$6
    
    function main(){
            
    
            if [ $arg_num -ne 4 ] && [[ $c1 != "-f" ]]
            then
                    errorMessage
                    exit 1
            elif [[ $c3 = "-c" ]]
            then
                    valus
                    doCommand
            elif [[ $c3 = "-l" ]] && [[ $c5 = "-s" ]]
            then
            # sh tools.sh -f hostlist -l hostlist -s /home/
            # scp -P 22022 hostlist 192.168.1.1:/home
                    valus
                    doScpLocalToServer
            elif [[ $c3 = "-s" ]] && [[ $c5 = "-l" ]]
            then
                    valus
                    doScpServerToLocal
            else
                    errorMessage
            fi
    }
    function doScpLocalToServer(){
            for ip in $iplist
            do 
                    for_num=`expr $for_num + 1`
                    pd=`echo $passwordlist | awk -v k=$for_num '{print $k}'`
                    echo -e "
登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认