![Diskshadow - 可以在单独的脚本中调用开始备份和结束备份吗?](https://linux22.com/image/721149/Diskshadow%20-%20%E5%8F%AF%E4%BB%A5%E5%9C%A8%E5%8D%95%E7%8B%AC%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%AD%E8%B0%83%E7%94%A8%E5%BC%80%E5%A7%8B%E5%A4%87%E4%BB%BD%E5%92%8C%E7%BB%93%E6%9D%9F%E5%A4%87%E4%BB%BD%E5%90%97%EF%BC%9F.png)
我已经在从 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 退出后保留快照。
看看本文