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,如需轉載請自行聯系原作者