首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用批处理脚本每10秒复制一次文件--只复制一次

使用批处理脚本每10秒复制一次文件--只复制一次
EN

Stack Overflow用户
提问于 2017-08-03 13:29:17
回答 1查看 3.4K关注 0票数 0

我正在设法在Windows上运行一个批处理脚本,该脚本将我的项目目录备份到本地网络文件共享服务器。

我通常运行的例子:

代码语言:javascript
复制
robocopy /mir "C:\PROJECT_FOLDER_PATH" "\\NETWORK_FOLDER_PATH"

但是,不时地,我的IT管理员来找我一个大规模的拷贝操作,正在减缓网络。

随着时间的推移,我的“项目”文件夹变得越来越烦人。我试图只在当天晚些时候签署时运行脚本,以尽量减少办公室中受影响的人数,但是,我试图想出一个更好的解决方案。

我编写了一个脚本,它使用7zip创建一个7zip存档,并将其分割成250 of的卷。所以现在我有一个文件夹,它只包含几个较小的文件,没有需要担心的文件夹。但是,如果我批量地将所有这些复制到服务器,我担心我仍然会遇到相同的问题。

所以我最初的想法是每5-10秒一次拷贝一个文件。而不是一蹴而就。但我只想让脚本运行一次。我知道我可以编写一个循环,并依靠机器人复制的/mir标记来跳过已经备份的文件,但是我不想在启动脚本后监视它。

当我准备进行备份时,我想运行脚本,然后让它隔一段时间将文件复制到网络上,以避免对我们的小型网络造成过重的负担。

EN

回答 1

Stack Overflow用户

发布于 2017-09-12 19:49:30

Robocopy有一个特殊的选项,可以在复制时控制数据流量。

/ipg:n -指定包间间隔,以便在慢速线路上释放带宽.

number n是指在每个64 KB的块之后等待的机器拷贝的毫秒数。数字越高,Robocopy获得的速度就越慢,但也越不可能与您的IT管理员发生冲突。

示例:

代码语言:javascript
复制
robocopy /mir /ipg:50 "C:\PROJECT_FOLDER_PATH" "\\NETWORK_FOLDER_PATH"

对于1GB的文件(大约16,000个块,每个64 KB ),这将增加800秒(16,000 x 50 ms)复制文件所需的时间。

假设复制此文件通常需要80秒;这很可能是100 Mbit连接上的情况。然后,总时间变为80 + 800 = 880秒(几乎15分钟)。使用的带宽为8000 Mbit / 880秒= 9.1 Mbit/s,这使其他进程可以使用超过90 Mbit/s的带宽。

你可能认为其他选择是有用的:

/rh:hhmm-hhmm -指定可能启动新副本的运行时间。 /pf -在每个文件(不是每次通过)的基础上检查运行时间.

来源:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45485684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档