Hello, first post!
My batch for watch and restart miner.exe
Best works with ready to use miner.cfg and set eexit 1.
It query every 60 seconds process miner.exe and start it if not found running.
Usage:
Just paste below to new .txt file
Edit to your miner directory path
Save as miner_start.bat
and put to your Windows startup folder (or can run it manually).
@echo off
SETLOCAL EnableExtensions
set EXE=miner.exe
set varSeconds=60
set zecServer=zec-eu1.nanopool.org
set tAddress=_SET_YOUR_tADDRESS
set wrkrName=worker1
set wrkrEml=email_email@gmail.com
REM No need touch these
set varLops=0
set varSkip=0
set varRuns=0
:aIsProcessRunning
@echo Miner Auto Start/Restart
@echo Loop-No - %varLops%
@echo Skipped - %varSkip%
@echo Re-Runs - %varRuns%
TIMEOUT /T %varSeconds%
FOR /F %%x IN ('tasklist /NH /FI "IMAGENAME eq %EXE%"') DO IF %%x == %EXE% goto aProcessFound
goto aProcessNotFound
:aProcessFound
@echo %EXE% is Running...
@echo %EXE% skipping Start...
set /a varSkip=%varSkip%+1
@goto aLoopEND
:aProcessNotFound
@echo %EXE% is NOT Running...
@echo %EXE% attempt Start...
set /a varRuns=%varRuns%+1
REM For command line usage
REM start /i /d "c:\__zec\Zec Miner 0.3.4b\0.3.4b\" miner.exe --server %zecServer% --user %tAddress%.%wrkrName%/%wrkrEml% --pass z --port 6666 --pec --api 0.0.0.0:42000
REM For miner.cfg usage
start /i /d "c:\__zec\Zec Miner 0.3.4b\0.3.4b\" miner.exe
@goto aLoopEND
:aLoopEND
@echo Finished Loop...
@cls
set /a varLops=%varLops%+1
@goto aIsProcessRunning
:aExit
@pause
This is untested script for 0 Sol/s state
Requirement is miner.cfg with log 2
Script check generated .log and if find 0 Sol/s it kill task miner.exe
and restart it. It also deletes last created miner.log file.
@echo off
SETLOCAL EnableExtensions
set MINERPATH=C:\__zec\Zec Miner 0.3.4b\0.3.4b
set EXE=miner.exe
set varSeconds=60
set zecServer=zec-eu1.nanopool.org
set tAddress=_SET_YOUR_tADDRESS
set wrkrName=worker1
set wrkrEml=email_email@gmail.com
REM No need touch these
set varLops=0
set varSkip=0
set varRuns=0
set varForc=0
:aIsProcessRunning
@echo Miner Auto Start/Restart
@echo Loop-No - %varLops%
@echo Skipped - %varSkip%
@echo Re-Runs - %varRuns%
@echo Restart - %varForc%
TIMEOUT /T %varSeconds%
FOR /F %%x IN ('tasklist /NH /FI "IMAGENAME eq %EXE%"') DO IF %%x == %EXE% goto aProcessFound
goto aProcessNotFound
:aProcessFound
@echo %EXE% is Running...
@echo %EXE% skipping Start...
set /a varSkip=%varSkip%+1
REM Check for : 0 Sol/s state
findstr /c:": 0 Sol/s" "%MINERPATH%\miner.log"
if errorlevel 1 (
echo 0 Sol/s state String NOT found...
) else (
echo 0 Sol/s state String found
REM KILL Task miner.exe
set /a varForc=%varForc%+1
taskkill /f /im miner.exe
TIMEOUT /T 10
del "%MINERPATH%\miner.log"
)
@goto aLoopEND
:aProcessNotFound
@echo %EXE% is NOT Running...
@echo %EXE% attempt Start...
set /a varRuns=%varRuns%+1
REM For command line usage
REM start /i /d "%MINERPATH%\" miner.exe --server %zecServer% --user %tAddress%.%wrkrName%/%wrkrEml% --pass z --port 6666 --pec --api 0.0.0.0:42000
REM For miner.cfg usage
start /i /d "%MINERPATH%\" miner.exe
@goto aLoopEND
:aLoopEND
@echo Finished Loop...
@cls
set /a varLops=%varLops%+1
@goto aIsProcessRunning
:aExit
@pause