windows – 可以在服务器上运行一个小的无限循环脚本吗?

前端之家收集整理的这篇文章主要介绍了windows – 可以在服务器上运行一个小的无限循环脚本吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
看起来我需要在这里为所有人更新完整的场景.

我们的用户需要从我们的文件服务器中获取他们需要的任何内容以同步到远程位置,但是用户文件服务器上具有有限的权限来移动文件.所以这是我的任务:

create a tool that user can use to pickup data and sync to remote
location. DFS and 3rd party tools are not options,must be codes made
by our own and everything must be running on background.

这是我的方法,它现在正在运作.我制作了3件组件:

**带有VBS的**** HTA应用程序位于用户PC上,为用户提供文件浏览器以获取数据.

** B ****一个共享位置,允许HTA将数据路径写入txt文件.此文本文件中的任何路径都将作为软链接进入最终位置.

** C ****文件服务器上的最终位置包含所有软链接.

基本上它是如何工作的:

用户使用我制作的HTA从文件服务器中选择数据,它会将完整的数据路径写入共享位置的000.txt文件.我的无限循环脚本监视此共享位置,如果此共享文件夹中的任何用户创建了000.txt文件,它将调用另一个脚本来读取此000.txt中的所有数据路径,并使用mklink根据路径制作软链接用户提供并输出链接到最终位置,然后删除000.txt文件.此最终位置上的所有软链接将在晚上按计划进行robocopy同步.我的HTA应用程序需要更多功能,无需谈论它.

由于这里没有人谈论编码,所以我删除了我的无限循环代码,这个循环脚本从Windows开始并作为服务运行.我可以随时开始/停止它.它基本上只是监视共享文件夹,如果有任何用户在那里创建000.txt文件,它将调用mklink.bat来制作softlins,并且当制作softlink时,mklink.bat将删除000.txt.我使用无限循环而不是任务调度程序的原因是用户需要在提交数据路径后立即在最终位置查看结果.我认为任务调度程序的最小间隔是一分钟,(@MikeAWood说它可以是1秒.谢谢!)所以我做了这个2秒间隔无限循环来监视共享文件夹.

我的问题如下:

Is this a good idea to running a endless loop on server like forever
to monitor a folder?

I monitored the resources usage on server while this script is
running. I dont see any significant consumings…so I guess it will be
harmless right?

如果任务调度程序可以处理1秒间隔,我想我的问题已经解决了.谢谢大家.

或者,如果你有更好的方式来做这个或任何意见我的方式.

作为此的一般替代方法:将您的脚本放在任务计划程序中并每分钟,两分钟触发它,无论如何.这更加可靠,因为您的进程可以重新启动或脚本错误.使用计划任务不仅可以让您的流程在重新启动后继续存在,如前所述,但也可以使用 make your task deployable to a large number of servers via Group Policy Preferences.您当前的解决方案是可扩展性和可靠性的敌人.

至于你所说的实际剧本 – 看起来你正在重新发明一个弗兰肯斯坦的DFS-R怪物和/或Robocopy.

DFS-R是一个可扩展,成熟的文件复制工具,内置于Windows Server中.您应该看看是否可以在这种情况下使用它.微软已经为DFS-R提供了更多的工程大脑能力,而不是将其放入执行相同操作的脚本中.

此外,即使您出于某种原因无法使用DFS-R,robocopy也有一个/ mir开关,它将镜像目录.如果由于某种原因你真的不能使用DFS-R,至少在脚本中使用这样的东西.

猜你在找的Windows相关文章