我已经在从 Microsoft 到博客文章的各个网站上阅读了大量有关 Diskshadow 的文档,他们都建议执行如下操作:
# diskshadow script commands
set verbose on
set context persistent
begin backup
add volume D: alias DataVol
create
expose %DataVol% Z:
exec <somebackupscripthere.cmd>
end backup
delete shadows exposed Z:
exit
我想将 Diskshadow 合并到我已有的 Powershell 备份脚本中,长话短说,如果我可以分解命令周围的命令,那将是最容易的exec
。像这样:
# Powershell script
diskshadow -s diskshadowStartScript.dsh
# some backup commands here...
diskshadow -s diskshadowEndScript.dsh
以下是每个磁盘阴影脚本所包含的内容:
diskshadow 启动脚本:
#diskshadowStartScript.dsh
set verbose on
set context persistent
begin backup
add volume d: alias DataVol
create
expose %DataVol% Z:
diskshadow 结束脚本:
#diskshadowEndScript.dsh
end backup
delete shadows exposed Z:
exit
阅读完所有文档后,仍然不太清楚是否必须在同一个磁盘影子脚本中调用Begin backup
和End backup
,或者是否可以将它们分成单独的脚本。我知道当我离开一个脚本时,我会离开上下文或会话,并且无法访问为卷别名创建的环境变量,但类似的事情是否也适用于和命令Begin backup
?End backup
或者这些备份命令是否像Delete shadows
可以在不同位置调用的命令一样?
答案1
你说得对。“set context persitant”在 diskshadow 退出后保留快照。
看看本文