编辑计划任务 ntbackup .job 文件

编辑计划任务 ntbackup .job 文件

有没有办法从脚本生成 .job 文件。所以如果我想将同一项作业部署到一堆桌面,我可能需要更改备份的时间和文件夹。目前我知道的最佳方法是转到 \\computer 共享、计划任务,双击并编辑它。

注意:这是 ntbackup (内置于 XP),而不是 netbackup。

我也想知道如何为此设置密码。我想备份打开的文件,所以我需要一个管理员帐户来使用卷影复制服务。

答案1

我有点难以理解你的意思。我认为你指的是计划任务“.JOB”文件以启动 NTBACKUP。

看看任务管理器工具。它将允许您编写脚本来创建、删除、修改本地和远程计算机上的计划任务等。我猜您可以在那里找到所需的功能。

NTBACKUP 使用 Windows BackupFile API,因此您可以使用属于“BUILTIN\Backup Operators”组的帐户。如果这些 PC 是域成员,并且您不介意在所有 PC 上使用同一个帐户,我会创建一个域帐户,并使用组策略的“受限组”功能将其嵌套到每台 PC 上的“Backup Operators”组中。然后,我会使用启动脚本进行查询,如果不存在,则将具有所需备份参数的计划任务部署到该计算机上。部署脚本将需要其中的备份帐户的纯文本密码,因此我会使启动脚本仅可由“域计算机”(而不是默认情况下的“经过身份验证的用户”)读取。

编辑:

我只需使用 SchTasks.Exe 在远程计算机上创建任务——我根本不会费心去复制 .JOB 文件。实际上,这可能自找麻烦。

您可以编写一个启动脚本来执行以下操作:

@echo off
SET TASK_NAME=Task name
SET TASK_USER=User_for_task_to_run_under
SET TASK_USER_PW=Password_for_user_to_run_task_under

rem Escape any quotes in the task command with slashes (i.e. \")
SET TASK_CMD=%SystemRoot%\System32\ntbackup.exe backup @Selection_List_Name.bks \"Job Description\" /F C:\Backup_Set.bkf

schtasks /query /fo LIST | find "%TASK_NAME%" >NUL 2>NUL
if errorlevel 1 goto create_task
goto end

:create_task
schtasks /create /RU %TASK_USER% /RP %TASK_USER_PW% /SC WEEKLY /D MON,TUE,WED,THU,FRI /ST 02:00:00 /TN "%TASK_NAME%" /TR "%TASK_CMD%"

:end

这应该能给你一个好的开始。你仍然需要将备份选择列表发送给客户端(或者在 NtBackup 命令行上指定选择)。

回复:将用户添加到计算机组的“备份操作员” - 您应该阅读组策略中的“受限组”功能。该功能最初旨在控制“敏感”组的成员资格,但它经常用于自动化组成员资格。在 Microsoft 的网站上搜索文档并设置一个测试 OU 和一台测试计算机来使用它。您会很高兴您这样做了。

答案2

我建了一个工具前段时间你可能用过这个,基本上,你不用安排指向 NTbackup 的任务,而是安排运行 Python 脚本的任务,该脚本会查阅包含备份计划的 XML 文档。Python 脚本会确定要备份的内容,然后使用文档中描述的配置运行 ntbackup。

这样做的最大优点是,一旦您完成设置,您就可以通过编辑存储在某个中央服务器上的 xml 文档来简单地调整备份选择。

即使您不想使用脚本,也可以将其用作如何以编程方式创建备份选择文件 (bks) 的示例。BKS 文件基本上只是一个没有物料清单


已更新以解决评论

是否有一个编辑器可以让我编辑 bkf 文件,用记事本打开并使用 unicode 另存为似乎不起作用,ntbackup 就会崩溃。

我不知道有什么文本编辑器可以工作,我试了好几个。我快速拼凑了一个脚本为此,应该将其中包含选择的文本文件转换为可用的 bks。

相关内容