Friday, September 24

windows 2008 backup script

WBADMIN start backup命令居然会覆盖制定的备份目标文件夹,这样每次只有最近的一次备份留了下来,这有什么意义呢? 如果是在备份开始的前一刻系统发生故障,备份下来的也是失败的版本! 为什么ms没有提供apple的time machine呢???
参考各种网站的建议,得到下面的脚本,他可以备份最近一周的脚本,分别放到week1到week7的目录里,适当修改一下可以备份任意期间的系统。
让task schedule每天自动执行backupsystem.bat就OK了。

主脚本:BackupSystem.bat

@echo off
::BackupSystem.bat
::demonstration script using WBADMIN.EXE on a
Windows Server 2008 Server

rem backup share UNC
set backupshare=\\mycompany-dc01\Backup

rem files and folders to include
set include=c:,d:

rem define date time variables for building the folder name
set m=%date:~5,2%
set d=%date:~8,2%
set y=%date:~0,4%
set h=%time:~0,2%
set min=%time:~3,2%
set sec=%time:~6,2%
FOR /F "tokens=*" %%A IN ('CSCRIPT c:\temp\WEEK.VBS //NoLogo') DO SET %%A

rem defining a new folder like \\mycompany-dc01\backup\RESEARCHDC\20091215_132532

set newfolder=%backupshare%\%computername%\Week%Week%

echo Creating %newfolder%

mkdir %newfolder%

rem run the backup
echo Backing up %include% to %newfolder%

wbadmin start backup -backuptarget:%newfolder% -include:%include% -vssFull -quiet

rem Clear variables
set backupshare=
set include=
set m=
set d=
set y=
set h=
set min=
set sec=
set newfolder=



星期取得脚本:WEEK.VBS
Wscript.Echo("Week=" & DatePart("w",Date,vbMonday,vbFirstJan1))

Tuesday, September 21

applicationHost.config 的损坏

IIS7一个很弱智的设计就是将所有的host信息保存在applicationHost.config这样的文件里
这个文件位于%windir%\system32\inetsrv\config\目录下,里面保存了IIS里面的各种app信息。
公司的sharepoint有一个周1,突然不能启动了,调查发现是IIS里面的信息消失了,IIS启动失败,看log就是这个applicationHost.config文件的错误。经过千辛万苦,用了一上午尝试手工重建这个applicationHost.config文件,最终根据以前的备份,修复成功了。这是万幸。这是半年前发生的故障了,当时前一个周末,公司大厦做了停电维修,我们的服务器没有UPS保护,不知什么原因导致这个applicationHost.config发生了错误。按理说作为系统的重要文件,OS有责任保证这种情况下不出问题的。

备份,备份,是唯一的手段。虽然ms的backup也不是那么好用!

Windows 2008 Backup Schedule ERROR: 2147942402

Windows Server 2008的备份功能居然不是缺省安装,需要手工安装上。
自动schedule backup的wizard无法选择备份目的为一个文件夹,只能选择分区,选择分区以后则会问你是否要全部格式化,这真是一个无理的选择。
解决办法是用命令行
wbadmin start backup -backupTarget:\\127.0.0.1\backupfolder -include:e:,d:\mountpoint,\\?\Volume{cc566d14-44a0-11d9-9d93-806e6f6e6963}\

可你要就这样把此命令行加入windows的schedule定时执行程序里,就会收到如下的信息:
タスク スケジューラは、タスク "\system backup" のインスタンス "{24f661d8-534e-4415-8dc6-a784d61ca0fc}" の操作 "WBADMIN START BACKUP" の起動に失敗しました。追加データ: エラー値: 2147942402。
问题发生的缘由不得而知,解决办法是修改你的task
执行的程序写全路径:C:\Windows\System32\wbadmin.exe
参数是start backup -backupTarget:\\127.0.0.1\backupfolder -include:e:,d:\mountpoint,\\?\Volume{cc566d14-44a0-11d9-9d93-806e6f6e6963}\