WindowsServer上的Wbadmin备份命令参数
Windows服务器上的Windows Server Backup是系统自带的备份组件。它具有如下特性,能够很好的满足小企业的服务器备份需求。
- 系统自带,不需要另外购买(相当于免费)
- 简单易用
- 稳定性兼容性好
它的缺点就是有点太简单了,通过查资料得知我们通过搭配Wbadmin命令可以有更多的备份选项,下面我们来一起看一看。
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc742130(v=ws.10)
上面是资料的官方链接,不过是全英文的,这里我基于Windows Server 2008 R2整理一下。
命令行下运行命令+[可选参数]:
wbadmin enable backup
[-addtarget:<BackupTarget>]
添加备份的存储位置,在win2008 R2中指定的目标位置可以是磁盘,卷(分区)或者用统一命名规则(UNC)标识的远程共享文件夹(\\<服务器名>\<共享名>\).
默认情况下,备份会被保存在这个路径:\\<服务器名>\<共享名>\WindowsImageBackup\<计算机名>\
如果指定磁盘为目标位置,那么这个磁盘会被格式化,之前存在磁盘里的数据会被永久擦除。
如果指定共享文件夹为目标位置,那么最多只能指派一个位置。
更加需要注意的是这样每次备份都会覆盖历史备份,一旦备份失败,将没有任何备份可用。我们也可以建立子文件夹来保留多个版本,但是存储空间的消耗将是成倍数的。
一条命令只能添加一个位置,可以通过多条命令来添加多个磁盘和分区作为目标位置。
[-removetarget:<BackupTarget>]
移除指定的存储位置
[-schedule:<TimeToRunBackup>]
指定运行备份的时间点,格式为HH:MM(时:分),可以指定多个时间中间用逗号隔开。
[-include:<VolumesToInclude>]
添加需要备份的内容,可包括多个文件,文件夹,或者分区。分区路径可用通过盘符,挂载点,或者基于GUID的分区名称(该名称需要以反斜杠"\"结尾)。文件名中间也可使用通配符*号。
[-nonRecurseInclude:<ItemsToInclude>]
可以在需要备份的内容中指定一个不可递归,用逗号隔开的项目列表。可包括多个文件,文件夹,或者分区。分区路径可用通过盘符,挂载点,或者基于GUID的分区名称(该名称需要以反斜杠"\"结尾)。文件名中间也可使用通配符*号。
只能和-backupTarget参数一起使用。
[-exclude:<ItemsToExclude>]
可以在需要备份的内容中排除一个项目,或者一个用逗号隔开的项目列表。可排除多个文件,文件夹,或者分区。分区路径可用通过盘符,挂载点,或者基于GUID的分区名称(该名称需要以反斜杠"\"结尾)。文件名中间也可使用通配符*号。
[-nonRecurseExclude:<ItemsToExclude>]
可以在需要备份的内容中排除一个不可递归项目,或者用逗号隔开的项目列表。可排除多个文件,文件夹,或者分区。分区路径可用通过盘符,挂载点,或者基于GUID的分区名称(该名称需要以反斜杠"\"结尾)。文件名中间也可使用通配符*号。
[-systemState]
在Windows7和Windows Server 2008 R2上,该参数可以创建一个包括系统状态的备份。
系统状态包括启动文件(Boot.ini,NDTLDR,NTDetect.com),注册表与COM配置,SYSVOL(组策略和登陆脚本),活动目录和NTDS.DIT,以及证书,IIS元目录和群集服务信息。
[-allCritical]
这个参数可以指定关键分区——包含操作系统状态的分区。需要备份整个服务器系统和系统状态还原时很有用。
它只能和-backupTarget一起使用,可以和-include参数同时使用。
注意:关键分区备份的目标位置可以是本地磁盘,但是不能包含在备份中。
[-vssFull | -vssCopy]
-vssFull参数将会使用卷影复制组件(VSS)进行完整备份。所有文件的历史版本都将被备份,之前的备份日志也可能被删节。如果不使用这个参数,备份文件的历史版本将不会被更新。
注意:如果同时使用了Windows Server Backup以外的其他任何备份工具,该选项可能导致增量备份和差异备份的判断机制出错,而变成完全备份。
-vssCopy参数将会用VSS的一个副本进行备份。所有的文件都会备份,但是文件的历史版本不会被更新。所有的文件更改、删除的信息和应用程序日志都将被保留。
使用这个参数时,增量备份和差异备份的序列不会被中断。它也是默认值。
注意:副本备份不能用作增量备份或差异备份,或者恢复。
[-user:<UserName>]
指定一个用户名进行备份,这个用户必须具有目标位置的写入权限。同时需要在需备份服务器的管理员组或者备份操作员组。
[-password:<Password>]
指定-user参数中用户的密码
[-quiet]
静默运行,运行时不提示用户
示例:
wbadmin enable backup -addtarget:{aa123d14-bba0-1dd9-0d93-80aaaa6bbb63} -schedule:09:00,18:00 -include:e:,d:\mountpoint, \\?\Volume{cc566d14-44a0-11d9-9d93-806e6f6e6963}\
wbadmin enable backup -include:c:\dir1\* -addtarget:e: -schedule:00:00
备注: 若要查看所有联机磁盘的磁盘标识符,请使用 WBADMIN GET DISKS。 如果要备份某个应用程序用于恢复,则必须备份包含该应用程序和 应用程序数据的整个卷。
实例:
笔者曾经遇到一个比棘手的问题:要对服务器每周末执行一次全备份到远程共享目录。(再注:备份到共享目录,新备份会覆盖旧备份)
最终是通过计划任务调用wbadmin命令和设定适当参数来解决。命令如下:
wbadmin start backup -backupTarget:\\nas\ServerBackup\Server1 -allCritical -systemState -include:c:,d: -vssCopy -quiet
参数说明:
‘’start backup‘’为开始一个一次性备份
“-backupTarget:\\nas\ServerBackup\Server1” 指定备份目标路径为\\nas\ServerBackup\Server1
“-allCritical”包含系统关键卷(启动分区和操作系统分区)
“ -systemState”包含系统状态
“-include:c:,d:”包含C盘和D盘,中间用英文逗号“,”隔开
“-vssCopy”使用卷影副本备份,如没有其他备份作业,也可以不写(默认-vssFull)
“-quiet”静默运行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~