7月21日
20.31 expect脚本同步文件
expect脚本同步文件 自动同步文件 : ? #!/usr/bin/expect set passwd "123456" spawn rsync -av [email?protected]:/tmp/12.txt /tmp/? expect { "yes/no" { send "yesr"} "password:" { send "$passwdr" } }? expect eof ? 20.32 expect脚本指定host和要同步的文件 expect脚本指定host和要同步的文件 指定host和要同步的文件: ? #!/usr/bin/expect? set host [lindex $argv 0] set file [lindex $argv 1] spawn rsync -av $file [email?protected]$host:$file? expect eof expect构建文件分发系统 需求背景
实现思路核心命令文件分发系统的实现##?创建rsync.expect执行脚本?[[email?protected]?shell]#?vi?rsync.expect增加如下脚本内容:#!/usr/bin/expectset?passwd?"123456"set?host?[lindex?$argv?0] set?file?[lindex?$argv?1] spawn?rsync?-av?--files-from=$file?/?[email?protected]$host:/expect?{"yes/no"?{?send?"yesr"}"password:"?{?send?"$passwdr"?} } expect?eof##?file.list内容,为同步的文件路径列表[[email?protected]?shell]#?vi?/tmp/file.list增加如下需要同步的文件路径: /tmp/12.txt /root/shell/1.sh /root/111/222/lll.txt##?ip.list内容,为需要同步的远程机器IP列表[[email?protected]?shell]#?vi?/tmp/ip.list172.16.111.110127.0.0.1##创建一个rsync.sh脚本[[email?protected]?shell]#?vi?rsync.sh#!/bin/bashfor?ip?in?`cat?/tmp/ip.list`do ????./rsync.expect?$ip?/tmp/file.list done##加权限执行脚本[[email?protected]?shell]#?chmod?a+x?rsync.expect?[[email?protected]?shell]#?sh?-x?rsync.sh++?cat?/tmp/ip.list +?for?ip?in?'`cat?/tmp/ip.list`'+?./rsync.expect?172.16.111.110?/tmp/file.list spawn?rsync?-avR?--files-from=/tmp/file.list?/?[email?protected]:/[email?protected]'s?password:? building?file?list?...?rsync:?link_stat?"/root/shell/1.sh"?failed:?No?such?file?or?directory?(2) done root/ root/111/ root/111/222/ root/111/222/lll.txt/ tmp/ sent?130?bytes??received?27?bytes??314.00?bytes/sec total?size?is?5??speedup?is?0.03 rsync?error:?some?files/attrs?were?not?transferred?(see?previous?errors)?(code?23)?at?main.c(1052)?[sender=3.0.9] +?for?ip?in?'`cat?/tmp/ip.list`' +?./rsync.expect?127.0.0.1?/tmp/file.list spawn?rsync?-avR?--files-from=/tmp/file.list?/?[email?protected]:/ The?authenticity?of?host?'127.0.0.1?(127.0.0.1)'?can't?be?established. ECDSA?key?fingerprint?is?89:19:99:8c:63:ff:d9:e6:19:0d:81:03:27:54:49:78. Are?you?sure?you?want?to?continue?connecting?(yes/no)??yesWarning:?Permanently?added?'127.0.0.1'?(ECDSA)?to?the?list?of?known?hosts. [email?protected]'s?password:?[[email?protected]?shell]# (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |