![编辑计划任务 ntbackup .job 文件](https://linux22.com/image/492137/%E7%BC%96%E8%BE%91%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1%20ntbackup%20.job%20%E6%96%87%E4%BB%B6.png)
有没有办法从脚本生成 .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。