首页 > 其他 > 详细

2.1-指定ip和指定文件同步脚本

时间:2016-03-09 07:06:15      阅读:233      评论:0      收藏:0      [点我收藏+]

指定本机文件,同步到远程指定IP机器

#!/usr/bin/expect

set passwd "hd792310"

set host [lindex $argv 0]

set file [lindex $argv 1]

spawn rsync -av $file root@$host:$file

expect {

"yes/no" { send "yes\r"}

"password:" { send "$passwd\r" }

}

expect eof



其中$host可以写一个文本列表,$file文件列表,也可以写入一个文件。用for循环来实现批量同步


注意:本地同步目录到远程服务器后,会覆盖掉远程服务器指定目录下的所有文件,变为和本地服务器目录一模一样。如果只是同步指定的文件,则只会改变指定的文件,其它文件不变。

示例:如果要同步指定的目录下的文件,写一个列表文件file-list

/tmp/1.expect

/tmp/3.expect

/tmp/2.expect /tmp/4.expect  /tmp/install.log


然后执行命令

for list in `/root/cat file-list`; do echo $list; expect 5.expect 192.168.11.70 $list; done


此条命令会根据得出的列表,一次一次登录远程机器,同步得出的列表文件。有多少文件,登录同步多少次。这样做的效率有点低。其实rsync有批量同步的功能,具体看下一章--files-from 功能


同样,也可以做一个IP列表,嵌套循环来同步多台机器。


2.1-指定ip和指定文件同步脚本

原文:http://llzdwyp.blog.51cto.com/6140981/1748934

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!