rsync结合expect实现自动备份

作者:简简单单 2013-05-08

如果服务器禁用密码登录,必须使用key,rsync -e “ssh -i key”可以解决,但是密码需要非交互式输入(手工输入),而计划任务执行不可能人工守着吧。
结合expect即可实现自动输入密码

实例代码

 代码如下 复制代码

#!/usr/bin/expect
set timeout 30
spawn rsync -avz --delete --exclude-from=exclude.list -e "ssh -i /home/user/.ssh/key" user@192.168.1.20:/home/htdocs/www.abc.com /home/backup/code/
expect "Enter passphrase for key '/home/user/.ssh/key':"
send "[yourpassword]r"
interact

exclude.list

 代码如下 复制代码

Data/Cache
Data/Logs

相关文章

精彩推荐