rsync.expect
1
2
3
4
5
6
7
8
9
10
<code>#!/usr/bin/expect</code>
<code>set</code> <code>passwd</code> <code>"123456"</code> <code>##建议用密钥,防止口令泄露</code>
<code>set</code> <code>host [lindex $argv 0]</code>
<code>set</code> <code>file</code> <code>[lindex $argv 1]</code>
<code>spawn </code><code>rsync</code> <code>-avR --files-from=$</code><code>file</code> <code>/ root@$host:/</code>
<code>expect {</code>
<code>"yes/no"</code> <code>{ send </code><code>"yes\r"</code><code>}</code>
<code>"password:"</code> <code>{ send </code><code>"$passwd\r"</code> <code>}</code>
<code>}</code>
<code>expect eof</code>
list.txt
<code>/tmp/1.txt</code>
<code>/usr/local/sbin/2.sh</code>
ip.list
<code>192.168.89.134</code>
<code>192.168.87.167</code>
rsync.sh
<code>#!/bin/bash</code>
<code>for</code> <code>ip </code><code>in</code> <code>`</code><code>cat</code> <code>/tmp/ip</code><code>.list`</code>
<code>do</code>
<code> </code><code>echo</code> <code>$ip</code>
<code> </code><code>.</code><code>/rsync</code><code>.expect $ip </code><code>/tmp/list</code><code>.txt</code>
<code>done</code>
除了文件的分发外,还可以批量执行命令。
本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/2065683,如需转载请自行联系原作者