Rsync + SSH + Expect 实现安全的集中的自动的备份
2007-12-26 11:51
435 查看
Rsync + SSH + Expect [/b]实现安全的集中的自动的备份[/b]
[/b]
请在下图上点击一下,就可以看到清晰的图片了,笔者不大会弄图片,请见谅。
因第一种方法(普通的备份方法)使用得比较多,所以就不在举例了。下面说说第二种方法(改进后的备份方法)的具体配置。
1、在备份中心上执行下列操作:
第一步:写一个BASH脚本,作具体的拷贝文件的工作,例如:
[align=left] -bash-3.00# cat 181.sh[/align]
[align=left]rsync -avz --rsh="ssh -l xx-rsync-user" \[/align]
[align=left] --exclude-from=/opt/script/data/181/exclude_dirs \[/align]
[align=left]xxx.xx.xxx.181:/usr/my_applications /opt/backup/xxx.xxx.xxx.181/[/align]
[align=left]注:xx-rsync-user 是服务器xxx.xx.xxx.181上的一个普通权限用户,该用户只有对目录/usr/my_applications的读权限。[/align]
[align=left]第二步:写一个Expect脚本,调用第一步的BASH脚本,目的是给BASH脚本输入密码,例如:[/align]
[align=left]-bash-3.00# cat 181.exp[/align]
[align=left]#!/usr/bin/expect -f[/align]
[align=left]#[/align]
[align=left]spawn date "+%Y-%m-%d %H:%M"[/align]
[align=left]expect "#"[/align]
[align=left]spawn /opt/script/prod/181.sh[/align]
[align=left]expect "password:" { send "<用户xx-rsync-user的密码>\n" }[/align]
[align=left]expect ".*\@.*#"[/align]
[align=left] [/align]
第三步:建立一个crontab,调用第二步的Expect脚本,以定时自动备份,例如:
[align=left]10 * * * * /opt/script/prod/181.exp >> /opt/script/data/181/181.log[/align]
[align=left] [/align]
[align=left]2. 在需要备份资料的服务器上执行下列操作:[/align]
[align=left]第一步:登录到服务器xxx.xx.xxx.181上去,建立用户xx-rsync-user,并授予其对/user/my_applications目录的只读权限;[/align]
[align=left] [/align]
[align=left]如果有其它的服务器需要备份,那么重复上述步骤就OK了。[/align]
[/b]
请在下图上点击一下,就可以看到清晰的图片了,笔者不大会弄图片,请见谅。
因第一种方法(普通的备份方法)使用得比较多,所以就不在举例了。下面说说第二种方法(改进后的备份方法)的具体配置。
1、在备份中心上执行下列操作:
第一步:写一个BASH脚本,作具体的拷贝文件的工作,例如:
[align=left] -bash-3.00# cat 181.sh[/align]
[align=left]rsync -avz --rsh="ssh -l xx-rsync-user" \[/align]
[align=left] --exclude-from=/opt/script/data/181/exclude_dirs \[/align]
[align=left]xxx.xx.xxx.181:/usr/my_applications /opt/backup/xxx.xxx.xxx.181/[/align]
[align=left]注:xx-rsync-user 是服务器xxx.xx.xxx.181上的一个普通权限用户,该用户只有对目录/usr/my_applications的读权限。[/align]
[align=left]第二步:写一个Expect脚本,调用第一步的BASH脚本,目的是给BASH脚本输入密码,例如:[/align]
[align=left]-bash-3.00# cat 181.exp[/align]
[align=left]#!/usr/bin/expect -f[/align]
[align=left]#[/align]
[align=left]spawn date "+%Y-%m-%d %H:%M"[/align]
[align=left]expect "#"[/align]
[align=left]spawn /opt/script/prod/181.sh[/align]
[align=left]expect "password:" { send "<用户xx-rsync-user的密码>\n" }[/align]
[align=left]expect ".*\@.*#"[/align]
[align=left] [/align]
第三步:建立一个crontab,调用第二步的Expect脚本,以定时自动备份,例如:
[align=left]10 * * * * /opt/script/prod/181.exp >> /opt/script/data/181/181.log[/align]
[align=left] [/align]
[align=left]2. 在需要备份资料的服务器上执行下列操作:[/align]
[align=left]第一步:登录到服务器xxx.xx.xxx.181上去,建立用户xx-rsync-user,并授予其对/user/my_applications目录的只读权限;[/align]
[align=left] [/align]
[align=left]如果有其它的服务器需要备份,那么重复上述步骤就OK了。[/align]
相关文章推荐
- Rsync + SSH + Expect 实现安全的集中的自动的备份
- SSH+rsync实现服务器的自动备份
- ssh+sync+expect实现集中备份方法
- linux实现自动远程备份(scp+ssh)
- ssh,expect脚本实现远程登录,拷贝命令scp,rsync服务器的搭建
- expect实现ssh自动登陆
- 用expect实现ssh自动登录服务器并进行批量管理的实现方法
- 用expect实现ssh自动登录对服务器进行批量管理
- Linux下使用rsync实现数据在不同服务器之前增量自动备份
- 用了一天的时间,linux下expect实现ssh自动登录服务器记,鄙视下网上各种抄来抄去残段子
- [置顶] Linux下用expect实现ssh自动登录并执行脚本
- expect实现ssh自动登录
- Rsync+SSH安全定时备份
- expect实现ssh自动登录
- 用expect实现ssh自动登录对服务器进行批量管理
- 无密钥登录的自动脚本实现(ssh-copy-id、expect免交互输入脚本)
- 用expect实现ssh自动登录服务器并进行批量管理的实现方法
- rsync+crontab实现服务器自动备份
- expect实现ssh自动登录
- 用expect实现SCP/SSH自动输入密码登录