diff --git a/projects/dataforth-dos/batch-files/DEPLOY.BAT b/projects/dataforth-dos/batch-files/DEPLOY.BAT index c271abe..5c3a034 100644 --- a/projects/dataforth-dos/batch-files/DEPLOY.BAT +++ b/projects/dataforth-dos/batch-files/DEPLOY.BAT @@ -1,8 +1,8 @@ @ECHO OFF REM One-time deployment script for DOS Update System REM Usage: T:\COMMON\ProdSW\DEPLOY.BAT machine-name -REM Version: 2.4 - Use COPY instead of XCOPY (DOS 6.22 compatibility) -REM Last modified: 2026-01-21 +REM Version: 4.1 - Fixed trailing space bug in ECHO >> redirects +REM Last modified: 2026-03-12 CLS @@ -13,7 +13,7 @@ REM Save machine name SET MACHINE=%1 ECHO ============================================================== -ECHO DOS Update System - Deployment +ECHO DOS Update System - Deployment v4.1 ECHO ============================================================== ECHO Machine: %MACHINE% ECHO ============================================================== @@ -22,52 +22,89 @@ ECHO Press any key to install... PAUSE >NUL ECHO. -REM Create directories (ignore errors with >NUL) +REM Create local directories MD C:\BAT >NUL -MD T:\%MACHINE% >NUL +MD C:\BATCH >NUL +MD C:\TEMP >NUL +MD C:\ATE >NUL +MD C:\NET >NUL -ECHO (1/2) Copying batch files to C:\BAT... -COPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT >NUL -COPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT >NUL -COPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT >NUL -COPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT >NUL -COPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT >NUL -COPY T:\COMMON\ProdSW\REBOOT.BAT C:\BAT >NUL +ECHO (1/3) Copying batch files to C:\BAT... +COPY T:\COMMON\ProdSW\*.BAT C:\BAT >NUL ECHO Batch files installed ECHO. -ECHO (2/2) Installing AUTOEXEC.BAT... -REM Create AUTOEXEC.BAT with machine name -ECHO @ECHO OFF > C:\AUTOEXEC.BAT -ECHO REM Dataforth Test Machine - DOS 6.22 >> C:\AUTOEXEC.BAT -ECHO SET MACHINE=%MACHINE% >> C:\AUTOEXEC.BAT -ECHO SET PATH=C:\DOS;C:\NET;C:\BAT;C:\BATCH;C:\ >> C:\AUTOEXEC.BAT -ECHO PROMPT $P$G >> C:\AUTOEXEC.BAT -ECHO SET TEMP=C:\TEMP >> C:\AUTOEXEC.BAT -ECHO SET TMP=C:\TEMP >> C:\AUTOEXEC.BAT -ECHO MD C:\TEMP >NUL >> C:\AUTOEXEC.BAT -ECHO CLS >> C:\AUTOEXEC.BAT -ECHO ECHO. >> C:\AUTOEXEC.BAT -ECHO ECHO Dataforth Test Machine: %MACHINE% >> C:\AUTOEXEC.BAT -ECHO ECHO. >> C:\AUTOEXEC.BAT -ECHO IF EXIST C:\STARTNET.BAT CALL C:\STARTNET.BAT >> C:\AUTOEXEC.BAT -ECHO IF NOT EXIST T:\*.* GOTO NONET >> C:\AUTOEXEC.BAT -ECHO IF EXIST C:\BAT\NWTOC.BAT CALL C:\BAT\NWTOC.BAT >> C:\AUTOEXEC.BAT -ECHO IF EXIST C:\BAT\CTONW.BAT CALL C:\BAT\CTONW.BAT >> C:\AUTOEXEC.BAT -ECHO GOTO READY >> C:\AUTOEXEC.BAT -ECHO :NONET >> C:\AUTOEXEC.BAT -ECHO ECHO ERROR: Network not available >> C:\AUTOEXEC.BAT -ECHO :READY >> C:\AUTOEXEC.BAT -ECHO ECHO. >> C:\AUTOEXEC.BAT -ECHO ECHO System Ready >> C:\AUTOEXEC.BAT -ECHO ECHO. >> C:\AUTOEXEC.BAT -ECHO CD \ATE >> C:\AUTOEXEC.BAT -ECHO menux >> C:\AUTOEXEC.BAT +ECHO (2/3) Creating machine directory on network... +MD T:\%MACHINE% >NUL +MD T:\%MACHINE%\LOGS >NUL +MD T:\%MACHINE%\LOGS\5BLOG >NUL +MD T:\%MACHINE%\LOGS\7BLOG >NUL +MD T:\%MACHINE%\LOGS\8BLOG >NUL +MD T:\%MACHINE%\LOGS\DSCLOG >NUL +MD T:\%MACHINE%\LOGS\HVLOG >NUL +MD T:\%MACHINE%\LOGS\PWRLOG >NUL +MD T:\%MACHINE%\LOGS\SCTLOG >NUL +MD T:\%MACHINE%\LOGS\VASLOG >NUL +MD T:\%MACHINE%\Reports >NUL +MD T:\%MACHINE%\BACKUP >NUL +ECHO Network directories created +ECHO. + +ECHO (3/3) Installing AUTOEXEC.BAT... +REM Create AUTOEXEC.BAT with machine name - no IF EXIST checks +REM NOTE: Redirect BEFORE echo to avoid trailing spaces in output +REM First line uses > to overwrite, rest use >> to append +>C:\AUTOEXEC.BAT ECHO @ECHO OFF +>>C:\AUTOEXEC.BAT ECHO REM Dataforth Test Machine Startup - DOS 6.22 +>>C:\AUTOEXEC.BAT ECHO REM Version: 4.1 - No IF EXIST checks +>>C:\AUTOEXEC.BAT ECHO REM Deployed: 2026-03-12 +>>C:\AUTOEXEC.BAT ECHO. +>>C:\AUTOEXEC.BAT ECHO SET MACHINE=%MACHINE% +>>C:\AUTOEXEC.BAT ECHO SET PATH=C:\DOS;C:\NET;C:\BAT;C:\BATCH;C:\ +>>C:\AUTOEXEC.BAT ECHO PROMPT $P$G +>>C:\AUTOEXEC.BAT ECHO SET TEMP=C:\TEMP +>>C:\AUTOEXEC.BAT ECHO SET TMP=C:\TEMP +>>C:\AUTOEXEC.BAT ECHO. +>>C:\AUTOEXEC.BAT ECHO CLS +>>C:\AUTOEXEC.BAT ECHO ECHO. +>>C:\AUTOEXEC.BAT ECHO ECHO ============================================================== +>>C:\AUTOEXEC.BAT ECHO ECHO Dataforth Test Machine: %MACHINE% +>>C:\AUTOEXEC.BAT ECHO ECHO AUTOEXEC v4.1 - 2026-03-12 +>>C:\AUTOEXEC.BAT ECHO ECHO ============================================================== +>>C:\AUTOEXEC.BAT ECHO ECHO. +>>C:\AUTOEXEC.BAT ECHO. +>>C:\AUTOEXEC.BAT ECHO MD C:\TEMP >NUL +>>C:\AUTOEXEC.BAT ECHO MD C:\BAT >NUL +>>C:\AUTOEXEC.BAT ECHO MD C:\BATCH >NUL +>>C:\AUTOEXEC.BAT ECHO. +>>C:\AUTOEXEC.BAT ECHO ECHO Starting network client... +>>C:\AUTOEXEC.BAT ECHO ECHO. +>>C:\AUTOEXEC.BAT ECHO CALL C:\STARTNET.BAT +>>C:\AUTOEXEC.BAT ECHO. +>>C:\AUTOEXEC.BAT ECHO ECHO. +>>C:\AUTOEXEC.BAT ECHO ECHO Network Drives: +>>C:\AUTOEXEC.BAT ECHO ECHO T: = \\D2TESTNAS\test +>>C:\AUTOEXEC.BAT ECHO ECHO X: = \\D2TESTNAS\datasheets +>>C:\AUTOEXEC.BAT ECHO ECHO. +>>C:\AUTOEXEC.BAT ECHO. +>>C:\AUTOEXEC.BAT ECHO ECHO Checking for software updates... +>>C:\AUTOEXEC.BAT ECHO CALL C:\BAT\NWTOC.BAT +>>C:\AUTOEXEC.BAT ECHO. +>>C:\AUTOEXEC.BAT ECHO ECHO Uploading test data to network... +>>C:\AUTOEXEC.BAT ECHO CALL C:\BAT\CTONW.BAT +>>C:\AUTOEXEC.BAT ECHO. +>>C:\AUTOEXEC.BAT ECHO ECHO. +>>C:\AUTOEXEC.BAT ECHO ECHO ============================================================== +>>C:\AUTOEXEC.BAT ECHO ECHO System Ready +>>C:\AUTOEXEC.BAT ECHO ECHO ============================================================== +>>C:\AUTOEXEC.BAT ECHO ECHO. +>>C:\AUTOEXEC.BAT ECHO CD \ATE +>>C:\AUTOEXEC.BAT ECHO menux ECHO AUTOEXEC.BAT installed with MACHINE=%MACHINE% ECHO. ECHO ============================================================== -ECHO Deployment Complete - REBOOT NOW +ECHO Deployment Complete v4.1 - REBOOT NOW ECHO ============================================================== ECHO. PAUSE diff --git a/projects/dataforth-dos/session-logs/2026-03-12-session.md b/projects/dataforth-dos/session-logs/2026-03-12-session.md index b2728a9..748a3c4 100644 --- a/projects/dataforth-dos/session-logs/2026-03-12-session.md +++ b/projects/dataforth-dos/session-logs/2026-03-12-session.md @@ -271,9 +271,96 @@ Ran script to create LOGS/5BLOG, LOGS/7BLOG, LOGS/8BLOG, LOGS/DSCLOG, LOGS/HVLOG - Snapshot transfer stopped (was at ~43GB logical), needs restart after data completes ### Pending -1. Reboot a DOS machine to test v4.0 batch files -2. Monitor data transfer completion +1. Reboot a DOS machine to test v4.0 batch files (second boot needed for NWTOC v4.0) +2. Monitor data transfer completion (rsync single stream still running as of ~20:00) 3. Restart snapshot transfer after data completes 4. Verify test data appears in correct LOGS subdirectories on NAS 5. Set up AD2 scheduled task for rsync sync 6. Run real (non-dry) Sync-FromNAS-rsync.ps1 on AD2 + +## Update: ~20:00 - DEPLOY Trailing Space Bug and Data Upload Success + +### Critical Bug Found: DEPLOY.BAT Trailing Space +- **Root cause of ALL "Too many parameters" errors**: `ECHO SET MACHINE=%MACHINE% >> C:\AUTOEXEC.BAT` includes the space before `>>` in the output +- This sets `MACHINE=TS-3L ` (with trailing space) which causes `T:\TS-3L \LOGS\DSCLOG` to be parsed as two parameters +- **Fix**: DEPLOY v4.1 moves redirect before ECHO: `>>C:\AUTOEXEC.BAT ECHO SET MACHINE=%MACHINE%` +- First line uses `>` (overwrite), rest use `>>` (append) +- DEPLOY v4.1 deployed to NAS at `/data/test/COMMON/ProdSW/DEPLOY.BAT` + +### Samba Case Sensitivity - Confirmed OK +- `smb.conf` has `case sensitive = no` and `default case = upper` +- No duplicate directories (only `TS-4L` exists, not `ts-4L`) + +### TS-3L Deploy Test +- Ran `T:\UPDATE TS-3L` which calls DEPLOY v4.0 (before trailing space fix) +- DEPLOY completed, files confirmed v4.0 on machine via TYPE +- After reboot: NAS still showed old CTONW.LOG/NWTOC.LOG - MACHINE had trailing space +- Running CTONW manually showed 9x "Too many parameters" on all COPY-to-subdirectory lines +- `COPY C:\ATE\*.LOG T:\%MACHINE%` worked (no subdirectory in path) but `COPY ... T:\%MACHINE%\LOGS\DSCLOG` failed +- This confirmed the trailing space theory - space before `\LOGS\` splits the path + +### TS-4L Data Upload - SUCCESS +- TS-4L uploaded data at 20:10 with clean MACHINE variable (no trailing space) +- **84 test data files uploaded to NAS:** + - 5BLOG: 20 files + - 7BLOG: 29 files (historical .SHT files) + - 8BLOG: 10 files + - DSCLOG: 21 files (including today's 38-02.DAT from 03-12-26) + - SCTLOG: 2 files + - VASLOG: 2 files +- **90+ work-order Reports** (.TXT files) uploaded to TS-4L/Reports/ +- **3 LOG files** (NWTOC.LOG, CTONW.LOG, CTONWTXT.LOG) +- CTONW.LOG confirms: `CTONW.BAT v4.0 / Machine: TS-4L` (no trailing space) + +### Original STARTNET.BAT Found (from TS-3L backup) +The actual STARTNET.BAT on DOS machines loads network drivers manually: +``` +LH /L:0;1,45472 /S c:\net\smartdrv.exe /q +c:\net\net initialize +c:\net\netbind.com +lh c:\net\umb.com +c:\net\tcptsr.exe +c:\net\tinyrfc.exe +c:\net\nmtsr.exe +c:\net\emsbfr.exe +c:\net\net start +net use T: \\d2testnas\test +net use X: \\d2testnas\datasheets +``` +- `net start` prompts for computer name (pre-populated from SYSTEM.INI) +- Could add `/y` flag to suppress prompt, or use MACHINE variable +- Our v2.0 STARTNET.BAT on ProdSW is a simplified rewrite that was never deployed to machines + +### T:\UPDATE.BAT +- Tiny 4-line wrapper at root of test share: `CALL T:\COMMON\ProdSW\DEPLOY.BAT %1` +- Allows running `T:\UPDATE TS-3L` from DOS machines + +### Rsync Transfer Status +- Single stream still running from old NAS (.117) to new VM (.9) +- Snapshot transfer still pending restart + +### Files Modified This Update +- `D:\ClaudeTools\projects\dataforth-dos\batch-files\DEPLOY.BAT` - v4.1 (trailing space fix) +- Deployed to NAS at `/data/test/COMMON/ProdSW/DEPLOY.BAT` + +--- + +## Pending/Incomplete Tasks (Updated) + +### Immediate +1. **Re-deploy TS-3L with DEPLOY v4.1** - needs new deploy + reboot to fix trailing space +2. **Set up AD2 rsync scheduled task** - Sync-FromNAS-rsync.ps1 deployed but no task created (15-min interval planned) +3. **Run real (non-dry) sync** of Sync-FromNAS-rsync.ps1 on AD2 +4. **Database ingestion pipeline** - No ingestion exists yet. Data flows: NAS -> AD2 -> MariaDB @ 172.16.3.30 + +### After Data Transfer Complete +5. **Monitor old NAS rsync completion** - single stream still running +6. **Restart snapshot transfer** after data completes +7. **Verify data integrity** - compare file counts between old and new NAS +8. **Power off old NAS** once confirmed + +### Batch File Updates Needed +9. **UPDATE.BAT** (in ProdSW) - has IF EXIST checks, needs v4.0 treatment +10. **ATESYNC.BAT / ATESYNCD.BAT** - have IF EXIST checks, need v4.0 treatment (not currently called by AUTOEXEC) +11. **STARTNET.BAT** - consider deploying updated version or adding `/y` to suppress net start prompt +12. **AV exclusions on AD2** - add exclusions for C:\Shares\test\ and rsync.exe