我正在构建一个脚本,该脚本将执行数据库备份并将备份复制到另一台计算机上的安全存储位置。我已将该特定位置安装在 Y: 上并构建了我的脚本 (.bat)。 该脚本在测试运行中运行良好,但是当任务调度程序运行它时,负责复制的部分:
copy /Y "C:\something or other\Backup.bak" "Y:\DB\DB-%mydate%.bak"
不运行。为了查看调度程序运行我附加的脚本时发生了什么
>> backup.log
脚本的每一行。 当我尝试通过任务调度程序手动运行脚本以测试问题是什么时,唯一的副本输出是:
0 file(s) copied
仅此而已。没有其他错误。
我知道任务中设置的启动文件夹可能是问题,但我确实将其设置为脚本所在的文件夹。另外,启动文件夹不应该成为问题,因为我一直在使用完整路径。
编辑:如果与此有关,我正在 Windows Server 2003 SP2 上运行它。
那么你有什么想法可能是什么问题吗?
您好,我最近做了一些 Windows 服务器计划任务的工作。
如果您查看任务计划程序突出显示您的任务并选择历史记录选项卡,退出代码可能会对您有所帮助。 0x0 是成功 0x1 是某种错误,但不是很具体...
一些基本提示
有关更多信息,请参阅 http://technet.microsoft.com/en-us/library/cc721846.aspx
您可以尝试在脚本内映射网络驱动器或使用 UNC 吗? 像
这样的东西pushd \\server\path
copy c:\backup.bak .
popd
我在尝试通过计划任务从受保护的网络共享访问/复制文件时遇到此问题。
我的问题在于计划任务的配置。使用 Win10,我的任务配置如下(在“常规”-“安全选项”下):
我通过取消选中“不存储密码”复选框解决了该问题。 据推测,我也可以通过选择“仅在用户登录时运行”来修复它。
我也有同样的问题。经过更多的研究和测试,我通过 .bat 文件中的以下内容,使用 net use 解决了这个问题。
有用的网站:
https://www.lifewire.com/net-use-command-2618096
https://lazyadmin.nl/it/net-use-delete/
首先挂载共享文件夹。
net use z: \MyOtherServer\TheSharedFolder
进行复制并指定文件的完整路径。
复制 D:\MyLocalFolder ctive\File1.txt z:\TheDestinationFolder ctive\
删除新安装的驱动器。
/yes 提供对出现的提示的确认答案。
净使用 z:/删除/是