我正在设法在Windows上运行一个批处理脚本,该脚本将我的项目目录备份到本地网络文件共享服务器。
我通常运行的例子:
robocopy /mir "C:\PROJECT_FOLDER_PATH" "\\NETWORK_FOLDER_PATH"但是,不时地,我的IT管理员来找我一个大规模的拷贝操作,正在减缓网络。
随着时间的推移,我的“项目”文件夹变得越来越烦人。我试图只在当天晚些时候签署时运行脚本,以尽量减少办公室中受影响的人数,但是,我试图想出一个更好的解决方案。
我编写了一个脚本,它使用7zip创建一个7zip存档,并将其分割成250 of的卷。所以现在我有一个文件夹,它只包含几个较小的文件,没有需要担心的文件夹。但是,如果我批量地将所有这些复制到服务器,我担心我仍然会遇到相同的问题。
所以我最初的想法是每5-10秒一次拷贝一个文件。而不是一蹴而就。但我只想让脚本运行一次。我知道我可以编写一个循环,并依靠机器人复制的/mir标记来跳过已经备份的文件,但是我不想在启动脚本后监视它。
当我准备进行备份时,我想运行脚本,然后让它隔一段时间将文件复制到网络上,以避免对我们的小型网络造成过重的负担。
发布于 2017-09-12 19:49:30
Robocopy有一个特殊的选项,可以在复制时控制数据流量。
/ipg:n-指定包间间隔,以便在慢速线路上释放带宽.
number n是指在每个64 KB的块之后等待的机器拷贝的毫秒数。数字越高,Robocopy获得的速度就越慢,但也越不可能与您的IT管理员发生冲突。
示例:
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-在每个文件(不是每次通过)的基础上检查运行时间.
来源:
https://stackoverflow.com/questions/45485684
复制相似问题