linux 多台远程设备传递文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 多台远程设备传递文件相关的知识,希望对你有一定的参考价值。

传递文件分两种 linux本地----->远程linux linux本地<-----远程linux 主要有两种常要方式:ftp 与 scp 1.ftp:方式 登陆ftp:>ftp [email protected] #之后需要输入密码 或者:>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 [email protected]_ip:remote_folder linux本地<-----远程linux 指令:scp [email protected]_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 [email protected]$hostname   expect "yes/no"   send "yes\\r"   expect "password:"   send "$password\\r"    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

以上是关于linux 多台远程设备传递文件的主要内容,如果未能解决你的问题,请参考以下文章

一台手机同步控制多台手机

一台电脑控制多部手机怎么实现

eNSP——通过Telent登录系统

Linux+Shell获取及拷贝最新数据到远程设备

Chromecast 到多台设备

Linux中网卡相关命令以及SSH连接远程主机