summaryrefslogtreecommitdiffstats
path: root/public/tools/spltstat.cmd
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /public/tools/spltstat.cmd
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'public/tools/spltstat.cmd')
-rw-r--r--public/tools/spltstat.cmd82
1 files changed, 82 insertions, 0 deletions
diff --git a/public/tools/spltstat.cmd b/public/tools/spltstat.cmd
new file mode 100644
index 000000000..49b1c3eaa
--- /dev/null
+++ b/public/tools/spltstat.cmd
@@ -0,0 +1,82 @@
+@rem Spltstat will split %NTPROJECTS% by server and start four ntstats in parallel
+@rem
+
+@if "%_echo%"=="" echo off
+if not "%Verbose%"=="" echo on
+if not "%Verbose2%"=="" echo on
+
+set ScriptName=%0
+%_NtDrive%
+
+for %%a in (./ .- .) do if ".%1." == "%%a?." goto Usage
+for %%a in (1 2 3 4) do if "%1" == "%%a" goto SubSet
+
+:ArgLoop
+echo %1 | findstr -i Exit
+if NOT ErrorLevel 1 set Exit=1
+echo %1 | findstr -i SsyncNow
+if NOT ErrorLevel 1 set SsyncNow=1
+shift
+if not "%1"=="" goto ArgLoop
+
+set SAVEPROJECTS=%NTPROJECTS%
+
+del %tmp%\done* 2>nul
+
+call spltproj %NTPROJECTS%
+
+set NTPROJECTS=%list1%
+start call %ScriptName% 1
+set NTPROJECTS=%list2%
+start call %ScriptName% 2
+set NTPROJECTS=%list3%
+start call %ScriptName% 3
+set NTPROJECTS=%list4%
+start call %ScriptName% 4
+
+:TopOfLoop
+sleep 5
+if not exist %tmp%\done1 goto TopOfLoop
+if not exist %tmp%\done2 goto TopOfLoop
+if not exist %tmp%\done3 goto TopOfLoop
+if not exist %tmp%\done4 goto TopOfLoop
+
+copy %_ntdrive%%_ntroot%\ntstat1.log + %_ntdrive%%_ntroot%\ntstat2.log + %_ntdrive%%_ntroot%\ntstat3.log + %_ntdrive%%_ntroot%\ntstat4.log %_ntdrive%%_ntroot%\ntstat.log > nul
+for %%i in (1 2 3 4) do del %_ntdrive%%_ntroot%\ntstat%%i.log
+if "%SsyncNow%"=="1" for %%i in (1 2 3 4) do del %_ntdrive%%_ntroot%\ntstat%%i.cmd
+del %tmp%\done?
+set NTPROJECTS=%SAVEPROJECTS%
+set _NTSTATLOG=
+set _NTSTATCMD=
+set SAVEPROJECTS=
+set list1=
+set list2=
+set list3=
+set list4=
+set Exit=
+set SsyncNow=
+
+goto end
+
+REM This part is called by the main procedure. It calls NTSTAT and puts a done file in %tmp% when NTSTAT finishes.
+
+:SubSet
+ set _NTSTATLOG=%_ntdrive%%_ntroot%\ntstat%1.log
+ set _NTSTATCMD=%_ntdrive%%_ntroot%\ntstat%1.cmd
+ call ntstat
+ if "%SsyncNow%"=="1" copy %_NTSTATLOG% %_NTSTATCMD% && start cmd/c %_NTSTATCMD%
+ echo done> %tmp%\done%1
+ @if "_echo"=="" echo off
+ if "%Exit%" == "" pause
+ exit
+
+:usage
+
+echo %ScriptName% will split NTPROJECTS by server and start four ntstats in parallel
+echo.
+echo usage: %0 [SsyncNow]
+echo.
+echo SsyncNow Runs the 4 intermediate ssync scripts in parallel
+echo as soon as each is ready
+
+:end