zoukankan      html  css  js  c++  java
  • linux 多台远程设备传递文件

    传递文件分两种

    linux本地----->远程linux

    linux本地<-----远程linux

      主要有两种常要方式:ftp 与 scp

                      1.ftp:方式

                   登陆ftp:

                   >ftp servername@remoteip #之后需要输入密码 或者:

                   >ftp remote #回车后提示输入用户名和密码

                     上传|下砸文件: put /home/user/t.sh /home/remoteDir get /home/user/remoteFile /home/localFile

                      这里讲一下ftp按照指定密码多台设备传递: mv.sh

                      #!/bin/ksh

                        root=root

                        pwd=pwd remoteips='10.71.148.15 10.71.148.23' for ip in remoteips do ftp $ip<远程linux 指令:scp local_file remote_username@remote_ip:remote_folder linux本地<-----远程linux 指令:scp remote_username@remote_ip:remote_folder local_file 具体详细连接:http://www.cnblogs.com/hitwtx/archive/2011/11/16/2251254.html 这里详细说说如何实现多台设备传输 实现步骤: 1)写xshell脚本的一个expect 插件实现一台设备的传输编程输入密码 exp.sh #!/usr/bin/expect -f   set timeout 10   set username [lindex $argv 0]   set password [lindex $argv 1]   set hostname [lindex $argv 2]   spawn scp $username@$hostname   expect "yes/no"   send "yes "   expect "password:"   send "$password "    expect eof 测试:./exp.sh root pasword hostname1 #expect接收参数的方式和bash脚本的方式不太一样,bash是通过$0 ... $n 这种方式,而expect是通过set <变量名称> [lindex $argv],例如set username [lindex $argv 0] 2)写一个循环调用脚本 #!/bin/ksh #定义一个远程主机ip数组,也可以通过文件查询方式 remoteips='10.71.148.15 10.71.148.23' uesrname=root passwd= pwd for ip in $remoteips do ./exp.sh $uesrname $pwd $ip done 执行前确保文件可执行 >chmod +x XX.sh

  • 相关阅读:
    Android Studio 开发利器【经常使用插件】
    Eclipse改动Project的文件夹位置
    《信息检索》第8讲 毕业论文学习指导(资源及预习材料)
    Android:使用SparseArray取代HashMap优化性能
    JavaScript初探之——图片移动
    C#趣味程序---九九乘法表
    CoreData使用方法三: NSPredicate在CoreData中的使用
    Eclipse中使用正则屏蔽Logcat中的某些Tag
    给一个int型整数,如何将这个整数的奇偶位互换
    30款基本UX工具
  • 原文地址:https://www.cnblogs.com/niusir/p/5551611.html
Copyright © 2011-2022 走看看