用XCOPY、NET、USE命令和“任务计划”实现数据文档的异机定时自动备份
经常接到学校老师的报告:服务器磁盘坏了,数据库文件、网站文件和许多重要的资料丢失,损失惨重。如果求助专业机构恢复受损的磁盘数据,则价格不菲,还有可能恢复不了。所以作为一个学校网站管理员,备份服务器数据是必须经常做的工作。如果是管理员手工备份,常常是时间不定,有时几个月也想不起来。一旦发生服务器故障,只能望机兴叹。下面用xcopy、net、use命令和sql数据库自动备份功能,配合操作系统的“任务计划”实现数据文档的自动异地备份。
思路是运用xcopy、net、use几个命令的强大功能来实现目录及文件的复制备份到异机,将这些命令做成批处理,再用Windows的任务计划调用该批处理,由“任务计划”确定自动备份的周期和时间。本文以海陵教育网站为例介绍如何自动异机备份网站数据和文件。
一、服务器准备
既然是异机备份,必须准备一台服务器作为文件备份服务器,我使用的是十年前购置的一台HP ML570 G3服务器,共有10块300G的磁盘,做了2个RAID5,这样可用的磁盘空间有2T。从海陵区的实际情况看,各中小学和幼儿园都有两台以上的服务器。稳妥起见,建议尽量不要在本地备份,因为如果服务器没有做磁盘阵列,备份数据又与原数据在同一块磁盘上,一旦磁盘物理性损坏,备份也就失去了意义。
我需要备份的主要服务器有3台,一台服务器发布海陵教育网(IP:10.46.172.90),一台服务器发布海陵教师博客网(IP:10.46.172.91),还有一台服务器是6所幼儿园托管的网站(IP:10.46.172.92)。
二、数据库文件准备
海陵教育网使用的是ms sql数据库,大家知道,ms sql在运行时,数据库的是无法复制的。但ms sql有数据库自动备份功能,而备份好的数据是可以复制的。ms sql数据库自动备份的方法,这里不再详述,大家可以查阅资料。如果学校网站是Access数据库,就可以直接复制。
三、数据文档自动备份到异机
1、在目标主机上创建一个备份用户,用于异机访问目标主机。如我们设定备份用户为“user_bak”,并设定相应的登录密码“888888”,为不过期。(“888888”只是示例密码,建议大家设置成符合系统复杂密码的要求)。 把“user_bak”用户归属到“User”组。
2、把目标主机上的网站目录文件夹共享,共享名设为“web_bak”,删除“everyone”的访问权限,给“user_bak”用户“读取”权限。
3、把目标主机上的数据库文件夹共享,共享名设为“data_bak”,删除“everyone”的访问权限,给“user_bak”用户“读取”权限。
4、在备份主机上建立备份文件夹,本例建在HP服务器的D:\hljy_web_bak和 E:\hljy_data_bak。
5、在备份主机上使用net、use命令和xcopy命令建立批处理文件。
用记事本创建一个批处理文件,保存为bat文件,名为filebak.bat,内容如下所示:
net use \\10.46.172.90 "888888" /user:user_bak
xcopy \\10.46.172.90\web_bak\*.* D:\hljy_web_bak\*.* /d/s/e/y/r
xcopy \\10.46.172.90\data_bak\*.* E:\hljy_data_bak\*.* /d/s/e/y/r
net use \\10.46.172.90 /delete
第一行的含义是:目标主机(IP:10.46.172.90),IP地址根据实际情况设定,登录用户名为user_bak,密码为888888。
第二行的含义是:用xcopy命令将目标机上web_bak所有网站文件复制到备份主机(即HP服务器)的D:\hljy_web_bak\。
第三行的含义是:用xcopy命令将目标机上的hljy_data上的数据库备份文件复制到备份主机(即HP服务器)的E:\hljy_data_bak\。
第四行的含义是:备份完成后,将建立的共享连接删除,提高目标主机的安全性。
其中/d/s/e/y/r的含义:
/d复制在指定日期或指定日期以后更改的文件(形式:/d:m-d-y)。如果没有提供日期,只复制那些比已备份时间新的文件;
/s 复制目录和子目录,除了空的;
/e 复制目录和子目录,包括空的;
/r 覆盖只读文件;
/y 复制文件审核设置。
批处理文件设置好后,可以双击它执行,可以看到执行的过程。如果在备份主机相应的文件夹看到复制的文件,说明批处理文件没有问题,否则检查批处理文件。xcopy命令执行很快,实验中,三台服务器有51G的数据量,十分钟左右就完成了,而且在反复执行时,只复制有变化的更新文件。
四、将filebak.bat批处理交给Windows的“任务计划”执行
1、打开“控制面板”→“任务计划”→“添加任务计划”,会出现一个“任务计划向导”对话框,按“下一步”跳转到另一对话框,按“浏览”,选择批处理文件“filebak.bat”。
2、确定任务运行周期和时间。执行的时间请和网站数据库自动备份的时间错开。例如:数据库自动备份时间为0:00,则批处理计划执行时间为2:00。
3、如果系统有登录密码,请在下一步输入登录密码,随后点击完成即可。
这种方法不足的是:不能做到备份数据与主机数据完全同步,如果主机磁盘故障,最大会损失24小时的数据。当然,如果备份服务器性能优越,你可以在“高级选项计划”里重复执行任务,如每小时备份一次。现在全区中小学和部分幼儿园都处在海陵教育城域中,利用此方法,条件不具备的学校完全可以把学校数据备份到局电教中心的服务器上。
五、两个小问题
1、批处理文件是放在目标服务器上执行好,还是放在备份服务器上执行好?为什么?
2、如果想把自己电脑上的重要文件在自己每次开机时自动备份到学校服务器,该怎样做呢?
用户登录