用rsync备份window服务器数据配置
本人最近想利用linux的rsync通过ssh备份windows服务器上的资料,找了一些资料,和朋友们的帮助下得以实现,现在将一些过程写出来,希望大家指点,同时也希望可以帮助到一些的朋友们!
系统windows2000 linux AS 3
目的:在linux上做一个crontab实时的将windows资料备份到linux下,实现异地备份。
软件:
windows: cwRsync_Server_2.0.4_Installer.zip 、WinSSHD-Inst.exe
linux: open-ssh 、(可选expect-5.38.0-92.i386.rpm在第三张盘,用于实现自动输入密码,这样才可做crontab)
配置过程:
windows :
1. 为了使windows可以支持ssh,最终决定选择了WinSSHD-Inst.exe,同时为了实现可以更改用户登录后的目录。(一会就知道为什么做这步了)
2. 安装cwRsync_Server_2.0.4_Installer.zip 为了实现windows可以支持rsync服务和命令,也可以将win配置为rsync服务,这样也可以,不过记得修改安装目录下的rsyncd.conf。
3. 需要配置WinSSHD-Inst了,进入Winssd-control panel ,之后进入那个setting介面开始设置.access control下面的windows accounts添加一个现有的windows用户,下面还有一个user default initial directory这个选项,一定要去掉那个钩,在下面的inita directory 里面指定你的cwRsync的安装目录里的/bin这样才可以支持rsync命令了。知道我上面说为什么要选择这个winSSHD-Inst.exe这个软件了吧。。
4. 在Winssh-control panel介面里的account 和passwd输入账号和密码之后,linux ssh连接过就不用输入了。
linux:
1.创建和window同名的账号。
2.这步可选,如果不想用windows记录账号和密码,那么可以用expect来实现。下面是我的一个小脚本大家可以看一下,
[root@AS tmp]# more aaa.exp
#!/usr/bin/expect
set timeout 30
spawn rsync -ave 192.168.1.1:/cygdrive/c/temp/ /tmp #spawn是要执行的命令
#expect"aaa.exp"
expect ":" #在:之后输入send里面的内容,也就是密码。
send "123456r" #密码
interact
#timeout 60 {send " "}
#}
解释一下/cygdrive/c/temp这个目录就相当于c:temp
3 做一个crontab就可以,可以执行这个脚本,也可以将rsync -ave ssh 192.168.1.1:/cygdrive/c/temp/ /tmp/ 做到crontab之前你是要用winsshd记录的密码才行。
以上就是配置过程,希望路过的兄弟们也可以将让你们备份心得贴出来,做为管理员我想备份数据太重要了,所以希望大家多交流了。哈哈。。。。