精华内容
下载资源
问答
  • 批量scp

    2021-07-22 13:26:14
    #!/bin/bash for i in $(cat host.list) do expect -c " set timeout 20 spawn scp -r /root/.ssh root@$i:~/ expect { yes/no {send "yes\r",exp_continue} "*assword" {send "123456\n"} }
    #!/bin/bash
    for i in $(cat host.list)
    do
    expect -c "
    set timeout 20
    spawn scp -r /root/.ssh root@$i:~/
    expect {
    yes/no {send "yes\r",exp_continue}
    "*assword" {send "123456\n"}
    }
    "
    

    遇到的问题在最后"*assword" {send “123456\t”}是不可以的,\t代表换行,并不是推出

    展开全文
  • shell批量scp

    2019-11-25 14:42:41
    Linux 批量scp for i in {2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 30 31 32};do scp /opt/cloudera/parcels/CDH/lib/hiveudf-1.0-SNAPSHOT.jar root@10.91.4.${i}:/opt/cloudera/...

    Linux 批量scp

    for i in {2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 30 31 32};do scp /opt/cloudera/parcels/CDH/lib/hiveudf-1.0-SNAPSHOT.jar root@10.91.4.${i}:/opt/cloudera/parcels/CDH/lib ;done
    
    
    
    展开全文
  • 但我到现在还在对python的恐惧之中(虽然已经在空闲时间努力去学习了),所以使用了shell和expect脚本结合的方式,写了这个批量scp的脚本工具。 expect用于自动化地执行linux环境下的命令行交互任务,例如scp、ssh...
  • 主要介绍了expect实现单台、多台服务器批量scp传输文件,本文提供了单台传输脚本、多台传输脚本及服务器信息配置文件,需要的朋友可以参考下
  • Linux批量scp命令执行工具 可批量对多个Linux主机执行传输文件命令 方便省力 适合统一化管理Linux服务器
  • python 批量scp

    2021-04-01 10:57:24
    import os import pexpect import argparse # host = '' # user = '' # password = '.' scp_cmd = 'scp {} {}@{}:{}' # dir_path = '' # target_path = '' ... scp_handle = pexpect.spawn(scp_cmd.format
    import os
    import pexpect
    import argparse
    
    # host = ''
    # user = ''
    # password = '.'
    scp_cmd = 'scp {} {}@{}:{}'
    # dir_path = ''
    # target_path = ''
    files = []
    
    
    def login(file, user, host, target_path, password):
        scp_handle = pexpect.spawn(scp_cmd.format(file, user, host, target_path))
        scp_handle.expect('password:')
        scp_handle.sendline(password)
        scp_handle.read()
        print('发送完毕:{}'.format(file))
    
    
    def get_files(dir_path):
        files_name_list = os.listdir(dir_path)
        for i in files_name_list:
            file_path = os.path.join(dir_path, i)
            if os.path.isfile(file_path):
                files.append(file_path)
    
    
    def main(args):
        get_files(args.dir)
        for file in files:
            login(file, args.user, args.ip, args.target, args.password)
    
    
    if __name__ == '__main__':
        parse = argparse.ArgumentParser(description='scp scrapy')
        parse.add_argument('-i', '--ip', required=True, type=str, help='scp的ip地址')
        parse.add_argument('-u', '--user', required=True, type=str, help='scp用户')
        parse.add_argument('-p', '--password', required=True, type=str, help='scp的密码')
        parse.add_argument('-d', '--dir', required=True, type=str, help='需要传输的目录')
        parse.add_argument('-t', '--target', required=True, type=str, help='传送到的目录')
        args = parse.parse_args()
        main(args)
        print('end')
    
    展开全文
  • #批量scp文件或ssh远程执行指令脚本,在相对路径下创建list文件配置IP和密码,格式: # 10.90.10.10 asd123 # 创建command_list或file_list ,配置远程执行的指令 或 需要scp的文件列表 cp /dev/null failed.log cp ...

    #!/bin/sh
    #批量scp文件或ssh远程执行指令脚本,在相对路径下创建list文件配置IP和密码,格式:
    # 10.90.10.10 asd123
    # 创建command_list或file_list ,配置远程执行的指令 或 需要scp的文件列表
    cp /dev/null failed.log
    cp /dev/null success.log
    EXEC_HOST()
    {
    total=$(cat list | wc -l)
    curr=0

    while read ip password
    do
        curr=$(($curr + 1))
        echo -e `date`"=====================================[total $total,current $curr]Begin to process $ip ....\n"
        if [ "$path" ];then
            echo "scp begin"
            command="spawn scp $path $ip:$path"
        fi
        if [ "$shell" ];then
           echo "ssh begin"
           command="spawn ssh -o ConnectTimeout=3 root@$ip \"$shell\""
        fi

        if [ "$ip" != "" ]; then
            ping -c 1 $ip > /dev/null
            ret=$?
            if [ $ret -eq 1 ]; then
                printf "%03d: %s\r\n" $iCount "ping $ip Failed,please check the network!"
                echo `date`"ping $ip fail" >> failed.log
            else
                expect -c "set timeout 20
                 set passwderror 0
                 $command
                 expect {
                     \"*assword:*\" {
                         if { \$passwderror == 1 } {
                         puts \"passwd is error\"
                         exit 2
                         }
                         set timeout 1000
                         set passwderror 1
                         send \"$password\r\"
                         exp_continue
                     }
                     \"*es/no)?*\" {
                         send \"yes\r\"
                         exp_continue
                     }
                     \"*(y,N)*\"{
                        send \"y\r\"
                        exp_continue
                     }
                     timeout {
                         puts \"connect is timeout\"
                         exit 3
                     }
                 }"
                if [ $? -ne 0 ]; then
                    echo `date` "exec $shell to $ip fail" >> failed.log
                else
                    echo `date` "exec $shell to $ip success" >> success.log
                fi
            fi
        fi
    done < list
    }

    main()
    {
            
        if [ -f command_list ];then
            exec < command_list
            while read shell
            do
                EXEC_HOST
            done
        elif [ -f filelist ];then
            exec < filelist
            while read path
            do
                EXEC_HOST
            done
        fi
    }

    main "$@"
     

    展开全文
  • shell 批量scp脚本

    2019-09-12 18:57:17
    #!/bin/bash cat yq.txt|while read line do lines=($line) ips=${lines[0]} password=${lines[1]} expect -c " spawn scp denglu.sh root@$ips:/data1 ...
  • 转载请注明出处:... 环境:CentOS6.4 功能:将本地文件或目录批量scp到各个目标机器。 前提:ssh无密码访问你必须配好。 vi scp.sh for line in `cat $1` do if [ "$3" == "" ] then ...
  • 批量SCP文件的脚本

    千次阅读 2014-02-27 16:19:51
    最近在集群上部署Hadoop时发现在服务器之间传递文件比较...都说程序员是比较懒惰的物种,为了以后减少复制文件时的枯燥,决定写一个批量拷贝文件的脚本,当然是基于SCP命令的。 在我的Hadoop集群中,所有的用户名和
  • 批量scp文件脚本

    2015-04-03 17:10:52
    echo "scp -i /home/$syncuser/.ssh/id_rsa $source_file $syncuser@$ip:$dest_file" scp -i /home/$syncuser/.ssh/id_rsa $source_file $syncuser@$ip:$dest_file } for ip in ${ips[@]} do exec_upload_cmd $...
  • 批量scp免密码方法

    2014-03-07 15:11:14
    从A机scp到B机 首先,A机执行:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa,在~/.ssh/下生成密钥文件id_dsa及公钥文件id_dsa.pub; 然后在B机执行chmod 700 .ssh/,随后在~/.ssh/下生成authorized_keys文件,并...
  • 大家很容易发现,这个脚本只需要修改scp中的目标地址和源地址对调,就变成批量服务器下载脚本了。使用于搜集日志,文件等。用了expect,运行这个脚本的系统中需要先yum install expect , 这个自动输入scp脚本的一般...
  • 使用expect非交互式脚本与scp命令结合,实现scp批量传输本地不同文件到不同的远程主机的不同路径。 脚本注意事项 1. 确保本地主机已安装expect 2. 目标主机非第一次登陆,scp时,不需要输入“yes” 3. 注意列表文件...
  • 为了方便的从多台服务器获取日志(不同机器的相同日志),写了个简易脚本专门用于批量拷贝服务器日志到执行脚本的机器中。该脚本包含2个文件bscp.sh和bscp.exp。 使用方式: sh bscp.sh username:你ssh到目标机器...
  •  scp_command=pexpect.spawn('scp '+scp_filename+' root@'+ssh_ip[i]+':/root/')  expect_result = scp_command.expect([r'assword:',r'yes/no'],timeout=30)  if expect_result == 0:  scp_command.sendline...
  • linux shell + expect:批量scp脚本工具

    千次阅读 2012-01-07 20:17:07
    [转]http://www.knktc.com/2011/08/20/linux-shell-expect%E6%89%B9%E9%87%8Fscp%E8%84%9A%E6%9C%AC%E5%B7%A5%E5%85%B7/ 最近在准备一个部署的任务,...虽然已有宇哥的脚本可用:通过paramiko模块提供的ssh和scp
  • 为了方便的从多台服务器获取日志,写了个简易脚本专门用于批量拷贝服务器日志到执行脚本的机器中。该脚本包含2个文件bscp.sh和bscp.exp。 使用方式: sh bscp.sh <username> <host1,host2> <log_...
  • 转载: linux shell + expect:批量scp脚本工具 2011-09-13 15:51:06 分类: Python/Ruby 最近在准备一个部署的任务,其中有一项必须的过程就是将一些文件,如安装包发送到大量的服务器上去。虽然已有宇...
  • 例如搭建集群或者区块链或者分布式,需要把文件传输到其它多台机器上,而且这个步骤可能会重复n次,通过此脚本即可解决Linux批量scp命令执行工具 可批量对多个Linux主机执行传输文件命令 方便省力 适合统一化管理...
  • ssh expect 批量ssh和scp

    千次阅读 2015-09-06 11:41:59
    但我到现在还在对python的恐惧之中(虽然已经在空闲时间努力去学习了),所以使用了shell和expect脚本结合的方式,写了这个批量scp的脚本工具。  expect用于自动化地执行linux环境下的命令行交互

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,649
精华内容 3,459
关键字:

批量scp