环境介绍:
Windows文件服务器:Windows SERVER 2003 (64bit) IP:10.30.10.1
之前对于windows文件服务器的备份方法都是手动使用fastcopy来做了,把windows server2003上要备份的文件通过fastcopy同步到另外一台windows server2008(普通HP台式机,用来跑辅域的)上,没能做到自动定期备份,也增加了自己的工作量;最近从机房调整出一台IBM X3650,硬盘大小为2TB*9个,这样磁盘空间就不是个问题了,这台机器己正常搭建了两台用于监控平台的虚拟机(一台跑cacti,一台跑nagios)多余的空间用于做资料的备份就再合适不过了。
安装完成后的内容:
主要配置文件:rsyncd.conf
- use chroot = false
- strict modes = false
- hosts allow = 10.30.201.100 #连接允许的IP地址
- log file = rsyncd.log
- # Module definitions
- # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
- #
- [test] #这里我就不改名了,使用默认模块名字
- path = /cygdrive/E/ #选择路径,此表示为整个E盘路径,不支持中文
- read only = yes #只读模式
- transfer logging = yes
上述只修改了三处地方,其它的想了解可以百度,一般看单词的意思也可以大概的了解了。
启动cwrsync服务:
右键 我的电脑à管理à服务与应用程序à服务àRsyncServerà右键 属性à登陆à在此帐户输入有效的用户名(域用户、要有权限管理E盘的用户名哦),密码和、再次确认密码;此处我使用域管理员帐号与密码(如果用户和密码无权限或错误,将无法启动RsyncServer服务)。启动RsyncServer服务,并修改属性为自动,以便后续开机就启动此服务。
服务启动成功后,就可以配置linux客户端了。
- # telnet 10.30.10.1 873 #telnet windows server 2003的rsync服务的端口,能正常连接后就表示windows上的rsync服务正常了。
新建一个fzh_passwd的文件,内容为我在windows中RsyncServer中设定的密码内容:
- # cd /root
- #touch fzh_passwd #再将密码写入些文件中
- #chmod 600 fzh_passwd #改下权限,只有root用户能看。
我的linux服务器磁盘空间情况如下:
- #rsync -av --progress --password-file=/root/fzh_passwd [email protected]::test /data1/
第一次同步时间相当长,因为数据资料有360G左右。
同步完成后,将此参数写成一个shell脚本,再设定为周三与周日23点同步一次
脚本内容如下:
- #!/bin/bash
- #create by fengzehua
- #backup 10.30.10.1 file server disk E:\
- PASSWORD=/root/fzh_passwd
- SOURCE='10.30.10.1::test'
- USER=fzh
- DESTI=/data1/
- echo "start backup file server"
- /usr/bin/rsync -av --progress --delete --password-file=$PASSWORD $USER@$SOURCE $DEST
- if [ $? -eq 0 ]
- then
- echo "file server backup successfully!" #此处也可以更改下,以邮件的形式提示备份成功
- else
- echo "file server backup failure, try again:"
- /usr/bin/rsync -av --progress --delete --password-file=$PASSWORD $USER@$SOURCE $DEST
- fi
将上述内容保存至/root/backup/backup_fileserver.sh里;再把他写入计划任务:
- #crontab –e
- #wednesday 23:00 backup 10.30.10.1 file servers E:\
- 00 23 * * 3 /bin/bash /root/backup/backup_fileserver.sh > /dev/null 2>&1
- #sunday 23:00 backup 10.30.10.1 file server E:\
- 00 23 * * 0 /bin/bash /root/backup/backup_fileserver.sh > /dev/null 2>&1
保存退出后;重启crond服务
- #service crond restart
如大家在过程中有疑问,可咨询本人,QQ联系方式:278310747