Jump to content
Oz

[Разное] Скрипты и полезные software мелочи для майнинга.

Recommended Posts

Держите 2 бат файла для стабильной работы майнера закидываете их в папку с майнером 
 

 1.bat

@echo off
echo starting miner
:loop
if exist output.txt del output.txt
time /t
start /MIN 2.bat
:loop2
timeout /T 5 /NOBREAK >nul
findstr /C:"quit" /C:"null" output.txt && (
taskkill /F /IM genoil.exe
timeout /T 1 /NOBREAK >nul
echo re-starting miner
goto loop
) || (
goto loop2
)

второй батник  

 

2.bat

genoil.exe -c equihash.eu.nicehash.com:3357 -u 18JdJdzbhPte2ggHetWpkzyAbUY4pnonPp.Test -p x -g 0 1 -k zec zec > output.txt
echo quit >output.txt
exit

Запускаете 1.bat 

Скорость смотреть в текстовике output.txt  если пойдут нули или умрет процесс батник автоматом перезапустит майнер

 

BAT.rar

 

 

PS UPDATE спасибо bullettrain кто хочет видеть содержимое окна майнера в реальном времени делаем следующее

Создаем файл tee.vbs со следующим содержимым:
 Dim str
  Do While Not WScript.StdIn.AtEndOfStream
    str = WScript.StdIn.ReadLine
    WScript.StdOut.WriteLine str
    WScript.StdErr.WriteLine str
  Loop

Файл 2.bat приводим к следующему виду:

genoil.exe -c equihash.eu.nicehash.com:3357 -u 18JdJdzbhPte2ggHetWpkzyAbUY4pnonPp.Test -p x | cscript /nologo tee.vbs > output.txt
echo quit >output.txt
exit

Теперь содержимое окна будет выводиться на экран и параллельно писаться в файл output.txt.

Edited by AlexRus227

Share this post


Link to post
Share on other sites

Обновление!

5 генойл.

2 версии для старых карт и для новых RX470 и RX480

можно тестить и ту и ту, смотреть какая быстрее (можно еще попробовать добавить -k zec zec).

 

У кого нифига не работает:

в строке поиска пишем Power Shell - запускаем с правами администратора вставляем Set-ExecutionPolicy Unrestricted - подтверждаем Y

do {
    Write-Host "Setting up process" -ForegroundColor Green
    [int]$global:count = 0
    [int]$global:countstr = 0
    [bool]$global:restart = $false
    $pinfo = New-Object System.Diagnostics.ProcessStartInfo
    $pinfo.FileName = "genoil.exe"
    $pinfo.Arguments = "-c stratum.zcash.nicehash.com:3357 -u t1SdXdfcuwhye4Ln2jL4SRg4AAjWXDix4LL -p x -g 0 -k zec zec"
    $pinfo.UseShellExecute = $false
    $pinfo.CreateNoWindow = $false
    $pinfo.RedirectStandardOutput = $true
    $pinfo.RedirectStandardError = $false
    $process = New-Object System.Diagnostics.Process
    $process.StartInfo = $pinfo

    $OutEvent = Register-ObjectEvent -InputObject $process -EventName OutputDataReceived -Action {
	$global:countstr = 0;
        $stdout = $Event.SourceEventArgs.Data
        Write-Host $stdout
	if ($stdout.Contains(": 0.0S/s"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
        if ($stdout.Contains(": job not found"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }

        if($global:count -gt 5)
        {
            Write-Host "--KILLING PROCESS AND RESTARTING--" -ForegroundColor Red
            $global:restart = $true
            $global:count = 0
            Stop-Process -processname genoil
        }
    }
    $process.Start()
    $process.BeginOutputReadLine()
    Write-Host "Process started" -ForegroundColor Green
    while (!$process.HasExited)
    {
         
	$global:countstr += 1;
	if ($global:countstr -gt 15)
	{
		$global:restart = $true
	        $global:count = 0
                Stop-Process -processname genoil
		break;
	}
	Start-Sleep -Seconds 1
    }
}
while($global:restart)
$OutEvent.Name |
    ForEach-Object {Unregister-Event -SourceIdentifier $_}
Write-Host "Process finished"

Чуть изменил скрипт, что бы он ловил зависший процесс, 15 секунд ждёт, если новых строчек в файл нет, то он перезапускает гену.

Помогает при недопустимых операциях...

Share this post


Link to post
Share on other sites

Нашел кто-нибудь в 7 винде в gpedit.msc где отключать отображение ошибок на экране? А то, если выскакивает ошибка "Прекращена работа программы геноил", то скрипты не перезапускают майнер :(

Какие-то нашел, поотключал - все-равно выскакивают ошибки ((

 

 

Держи не будет больше выскакивать двойным кликом по рег файлу и подтверди изменения в реестре

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting]

"DontShowUI"=dword:00000001

reg.rar

Edited by OZR
Добавлен исходный текст .reg файла в сообщение.

Share this post


Link to post
Share on other sites

Себе сделал маленький и простой скрипт .bat, может кому пригодиться

:begin 
taskkill /f /im genoil.exe                                          
start C:\genoil-zec-miner-0.4.2\genoil-zec-miner-0.4.2\start.bat 
ping -n 1 -w 1800000 192.168.254.254>NULL 
goto :begin

убиваем процесс genoil.exe

запускаем start.bat

ждем 30 минут (1800000) 

все заново 

 

У всех на rx 470 на genoil 5.0 падает сразу? 

Edited by KasheyNSK

Share this post


Link to post
Share on other sites

Отключить "Запуск средства восстановления Windows при загрузке".

 

Запустить cmd от администратора.

bcdedit /set bootstatuspolicy ignoreallfailures

Share this post


Link to post
Share on other sites

Хочу поделиться приятной мелочью, если вы вдруг используете серверные версии операционок микрософта )) 

Автоматический вход с паролём:

control userpasswords2

Снимаем галочку "требуется ввод", применить и (минимум) вводим пароль администратора:

63C0yxW4tv.jpg

wC9066i65m.jpg

Share this post


Link to post
Share on other sites

tankist,

Супер :) Как раз в тему распространённых задач для майнинга, очень многим пригодится. Хотя тут слишком много мышки. Это так же можно сделать PowerShell скриптом одним нажатием.

$RegPath = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

Set-ItemProperty $RegPath "AutoAdminLogon" -Value "1" -type String
Set-ItemProperty $RegPath "DefaultUsername" -Value "YOURDOMAINNAME\Administrator" -type String
Set-ItemProperty $RegPath "DefaultPassword" -Value "YOURPASSWORD" -type String

Share this post


Link to post
Share on other sites

 

Держите 2 бат файла для стабильной работы майнера закидываете их в папку с майнером 

 

 1.bat

@echo off
echo starting miner
:loop
if exist output.txt del output.txt
time /t
start /MIN 2.bat
:loop2
timeout /T 5 /NOBREAK >nul
findstr /C:"quit" /C:"null" output.txt && (
taskkill /F /IM genoil.exe
timeout /T 1 /NOBREAK >nul
echo re-starting miner
goto loop
) || (
goto loop2
)

второй батник  

 

2.bat

genoil.exe -c equihash.eu.nicehash.com:3357 -u 18JdJdzbhPte2ggHetWpkzyAbUY4pnonPp.Test -p x -g 0 1 -k zec zec > output.txt
echo quit >output.txt
exit

Запускаете 1.bat 

Скорость смотреть в текстовике output.txt  если пойдут нули или умрет процесс батник автоматом перезапустит майнер

 

attachicon.gifBAT.rar

 

 

PS UPDATE спасибо bullettrain кто хочет видеть содержимое окна майнера в реальном времени делаем следующее

Создаем файл tee.vbs со следующим содержимым:
 Dim str
  Do While Not WScript.StdIn.AtEndOfStream
    str = WScript.StdIn.ReadLine
    WScript.StdOut.WriteLine str
    WScript.StdErr.WriteLine str
  Loop

Файл 2.bat приводим к следующему виду:

genoil.exe -c equihash.eu.nicehash.com:3357 -u 18JdJdzbhPte2ggHetWpkzyAbUY4pnonPp.Test -p x | cscript /nologo tee.vbs > output.txt
echo quit >output.txt
exit

Теперь содержимое окна будет выводиться на экран и параллельно писаться в файл output.txt.

 

При запуске 1.bat  вылезает 3 окна :

1 окно майнера 

1 окно с датой-->>> " \genoil-zec-miner-0.4.1>echo off

starting miner
23:43"

1 окно (ПУТЬ к майнеру)>start "2 bat" genoil.exe -c (ваши параметры)   | cscript /nologo tee.vbs  1>output.txt

Только вот в самом файле output.txt ничего не пишется он пустой. Почему  в него ничего не пишеся?

Share this post


Link to post
Share on other sites

При зависании геноила после рестарта, он опять вешается. Можно ли в повершел запихнуть команду ребута компа?

А вот, кажется нагуглил команду Restart-Computer. Модифицировал скрипт, что если 3 раза зависнет майнер, то комп ребутиается.

Не знаю есть ли у кого похожая проблема, делал для себя. Но вдруг кому пригодится.

 

 

 

[int]$global:countrestart = 0
do {
    Write-Host "Setting up process" -ForegroundColor Green
    [int]$global:count = 0
    [int]$global:countstr = 0
    [bool]$global:restart = $false
    [bool]$global:reboot = $false
    $pinfo = New-Object System.Diagnostics.ProcessStartInfo
    $pinfo.FileName = "genoil.exe"
    $pinfo.Arguments = "-c equihash.eu.nicehash.com:3357 -u 12whg6pzprh8Sj1Aef42pJXBtCozPL8Adu -p x -P 1"
    $pinfo.UseShellExecute = $false
    $pinfo.CreateNoWindow = $false
    $pinfo.RedirectStandardOutput = $true
    $pinfo.RedirectStandardError = $false
    $process = New-Object System.Diagnostics.Process
    $process.StartInfo = $pinfo
 
    $OutEvent = Register-ObjectEvent -InputObject $process -EventName OutputDataReceived -Action {
	$global:countstr = 0;
        $stdout = $Event.SourceEventArgs.Data
        Write-Host $stdout
	if ($stdout.Contains(": 0.0S/s"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
    if ($stdout.Contains(": job not found"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
 
    if($global:count -gt 5)
        {
            Write-Host "--KILLING PROCESS AND RESTARTING--" -ForegroundColor Red
            $global:restart = $true;
            $global:count = 0;
            Stop-Process -processname genoil
        }
    }
    $process.Start()
    $process.BeginOutputReadLine()
    Write-Host "Process started" -ForegroundColor Green
    while (!$process.HasExited)
    {
         
	$global:countstr += 1;
	if ($global:countstr -gt 15)
	{
        $global:countrestart += 1;
	    Write-Host "--PROCESS NOT RESPONDING. " $global:countrestart -ForegroundColor Yellow
        Write-Host "--KILLING PROCESS AND RESTARTING--" -ForegroundColor Red
        $global:restart = $true
	    $global:count = 0
        Stop-Process -processname genoil
        if ($global:countrestart -gt 2)
            {
               Write-Host "--PROCESS NOT RESPONDING. REBOOTING--" $global:countrestart -ForegroundColor Yellow
               $global:reboot = $true
            }            
		break;
	}
	Start-Sleep -Seconds 1
    }

    if ($global:reboot)
    {
     Write-Host "--REBOOTING IN 10 SEC--" $global:countrestart -ForegroundColor Red
     Start-Sleep -Seconds 10
     Restart-Computer -Force
    }

}
while($global:restart)

$OutEvent.Name |
    ForEach-Object {Unregister-Event -SourceIdentifier $_}
Write-Host "Process finished" 
 

 

 

 

Теперь я полностью заменил себя скриптом... можно идти спать. Вкалывают роботы, а не человек.

Edited by Hakoo

Share this post


Link to post
Share on other sites

А кто тест делал на картах 6990 Робит данный скрипт а то всегда у меня null 23

Не работают 6990 :(

Share this post


Link to post
Share on other sites

А кто тест делал на картах 6990 Робит данный скрипт а то всегда у меня null 23

Есть только такое добавление в код, чтоб при нулл23 тож перезапускал:

 if ($stdout.Contains(": null (23)"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }

Полный скрипт:

 

 

[int]$global:countrestart = 0
do {
    Write-Host "Setting up process" -ForegroundColor Green
    [int]$global:count = 0
    [int]$global:countstr = 0
    [bool]$global:restart = $false
    [bool]$global:reboot = $false
    $pinfo = New-Object System.Diagnostics.ProcessStartInfo
    $pinfo.FileName = "genoil.exe"
    $pinfo.Arguments = "-c equihash.eu.nicehash.com:3357 -u 12whg6pzprh8Sj1Aef42pJXBtCozPL8Adu -p x -P 1"
    $pinfo.UseShellExecute = $false
    $pinfo.CreateNoWindow = $false
    $pinfo.RedirectStandardOutput = $true
    $pinfo.RedirectStandardError = $false
    $process = New-Object System.Diagnostics.Process
    $process.StartInfo = $pinfo
 
    $OutEvent = Register-ObjectEvent -InputObject $process -EventName OutputDataReceived -Action {
	$global:countstr = 0;
        $stdout = $Event.SourceEventArgs.Data
        Write-Host $stdout
	if ($stdout.Contains("0: 0.0S/s") -or $stdout.Contains("1: 0.0S/s") -or $stdout.Contains("2: 0.0S/s") -or $stdout.Contains("3: 0.0S/s") -or $stdout.Contains("4: 0.0S/s") -or $stdout.Contains("5: 0.0S/s") -or $stdout.Contains("6: 0.0S/s") -or $stdout.Contains("7: 0.0S/s"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
                if ($stdout.Contains(": null (23)"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
    if ($stdout.Contains(": job not found"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
 
    if($global:count -gt 5)
        {
            Write-Host "--KILLING PROCESS AND RESTARTING--" -ForegroundColor Red
            $global:restart = $true;
            $global:count = 0;
            Stop-Process -processname genoil
        }
    }
    $process.Start()
    $process.BeginOutputReadLine()
    Write-Host "Process started" -ForegroundColor Green
    while (!$process.HasExited)
    {
         
	$global:countstr += 1;
	if ($global:countstr -gt 15)
	{
        $global:countrestart += 1;
	    Write-Host "--PROCESS NOT RESPONDING. " $global:countrestart -ForegroundColor Yellow
        Write-Host "--KILLING PROCESS AND RESTARTING--" -ForegroundColor Red
        $global:restart = $true
	    $global:count = 0
        Stop-Process -processname genoil
        if ($global:countrestart -gt 2)
            {
               Write-Host "--PROCESS NOT RESPONDING. REBOOTING--" $global:countrestart -ForegroundColor Yellow
               $global:reboot = $true
            }            
		break;
	}
	Start-Sleep -Seconds 1
    }

    if ($global:reboot)
    {
     Write-Host "--REBOOTING IN 10 SEC--" $global:countrestart -ForegroundColor Red
     Start-Sleep -Seconds 10
     Restart-Computer -Force
    }

}
while($global:restart)

$OutEvent.Name |
    ForEach-Object {Unregister-Event -SourceIdentifier $_}
Write-Host "Process finished" 
 

 

 

Share this post


Link to post
Share on other sites

Есть только такое добавление в код, чтоб при нулл23 тож перезапускал:

 if ($stdout.Contains(": null (23)"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }

Полный скрипт:

 

 

[int]$global:countrestart = 0
do {
    Write-Host "Setting up process" -ForegroundColor Green
    [int]$global:count = 0
    [int]$global:countstr = 0
    [bool]$global:restart = $false
    [bool]$global:reboot = $false
    $pinfo = New-Object System.Diagnostics.ProcessStartInfo
    $pinfo.FileName = "genoil.exe"
    $pinfo.Arguments = "-c equihash.eu.nicehash.com:3357 -u 12whg6pzprh8Sj1Aef42pJXBtCozPL8Adu -p x -P 1"
    $pinfo.UseShellExecute = $false
    $pinfo.CreateNoWindow = $false
    $pinfo.RedirectStandardOutput = $true
    $pinfo.RedirectStandardError = $false
    $process = New-Object System.Diagnostics.Process
    $process.StartInfo = $pinfo
 
    $OutEvent = Register-ObjectEvent -InputObject $process -EventName OutputDataReceived -Action {
	$global:countstr = 0;
        $stdout = $Event.SourceEventArgs.Data
        Write-Host $stdout
	if ($stdout.Contains("0: 0.0S/s") -or $stdout.Contains("1: 0.0S/s") -or $stdout.Contains("2: 0.0S/s") -or $stdout.Contains("3: 0.0S/s") -or $stdout.Contains("4: 0.0S/s") -or $stdout.Contains("5: 0.0S/s") -or $stdout.Contains("6: 0.0S/s") -or $stdout.Contains("7: 0.0S/s"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
                if ($stdout.Contains(": null (23)"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
    if ($stdout.Contains(": job not found"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
 
    if($global:count -gt 5)
        {
            Write-Host "--KILLING PROCESS AND RESTARTING--" -ForegroundColor Red
            $global:restart = $true;
            $global:count = 0;
            Stop-Process -processname genoil
        }
    }
    $process.Start()
    $process.BeginOutputReadLine()
    Write-Host "Process started" -ForegroundColor Green
    while (!$process.HasExited)
    {
         
	$global:countstr += 1;
	if ($global:countstr -gt 15)
	{
        $global:countrestart += 1;
	    Write-Host "--PROCESS NOT RESPONDING. " $global:countrestart -ForegroundColor Yellow
        Write-Host "--KILLING PROCESS AND RESTARTING--" -ForegroundColor Red
        $global:restart = $true
	    $global:count = 0
        Stop-Process -processname genoil
        if ($global:countrestart -gt 2)
            {
               Write-Host "--PROCESS NOT RESPONDING. REBOOTING--" $global:countrestart -ForegroundColor Yellow
               $global:reboot = $true
            }            
		break;
	}
	Start-Sleep -Seconds 1
    }

    if ($global:reboot)
    {
     Write-Host "--REBOOTING IN 10 SEC--" $global:countrestart -ForegroundColor Red
     Start-Sleep -Seconds 10
     Restart-Computer -Force
    }

}
while($global:restart)

$OutEvent.Name |
    ForEach-Object {Unregister-Event -SourceIdentifier $_}
Write-Host "Process finished" 
 

Есть только такое добавление в код, чтоб при нулл23 тож перезапускал:

 if ($stdout.Contains(": null (23)"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }

Полный скрипт:

 

 

[int]$global:countrestart = 0
do {
    Write-Host "Setting up process" -ForegroundColor Green
    [int]$global:count = 0
    [int]$global:countstr = 0
    [bool]$global:restart = $false
    [bool]$global:reboot = $false
    $pinfo = New-Object System.Diagnostics.ProcessStartInfo
    $pinfo.FileName = "genoil.exe"
    $pinfo.Arguments = "-c equihash.eu.nicehash.com:3357 -u 12whg6pzprh8Sj1Aef42pJXBtCozPL8Adu -p x -P 1"
    $pinfo.UseShellExecute = $false
    $pinfo.CreateNoWindow = $false
    $pinfo.RedirectStandardOutput = $true
    $pinfo.RedirectStandardError = $false
    $process = New-Object System.Diagnostics.Process
    $process.StartInfo = $pinfo
 
    $OutEvent = Register-ObjectEvent -InputObject $process -EventName OutputDataReceived -Action {
	$global:countstr = 0;
        $stdout = $Event.SourceEventArgs.Data
        Write-Host $stdout
	if ($stdout.Contains("0: 0.0S/s") -or $stdout.Contains("1: 0.0S/s") -or $stdout.Contains("2: 0.0S/s") -or $stdout.Contains("3: 0.0S/s") -or $stdout.Contains("4: 0.0S/s") -or $stdout.Contains("5: 0.0S/s") -or $stdout.Contains("6: 0.0S/s") -or $stdout.Contains("7: 0.0S/s"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
                if ($stdout.Contains(": null (23)"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
    if ($stdout.Contains(": job not found"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
 
    if($global:count -gt 5)
        {
            Write-Host "--KILLING PROCESS AND RESTARTING--" -ForegroundColor Red
            $global:restart = $true;
            $global:count = 0;
            Stop-Process -processname genoil
        }
    }
    $process.Start()
    $process.BeginOutputReadLine()
    Write-Host "Process started" -ForegroundColor Green
    while (!$process.HasExited)
    {
         
	$global:countstr += 1;
	if ($global:countstr -gt 15)
	{
        $global:countrestart += 1;
	    Write-Host "--PROCESS NOT RESPONDING. " $global:countrestart -ForegroundColor Yellow
        Write-Host "--KILLING PROCESS AND RESTARTING--" -ForegroundColor Red
        $global:restart = $true
	    $global:count = 0
        Stop-Process -processname genoil
        if ($global:countrestart -gt 2)
            {
               Write-Host "--PROCESS NOT RESPONDING. REBOOTING--" $global:countrestart -ForegroundColor Yellow
               $global:reboot = $true
            }            
		break;
	}
	Start-Sleep -Seconds 1
    }

    if ($global:reboot)
    {
     Write-Host "--REBOOTING IN 10 SEC--" $global:countrestart -ForegroundColor Red
     Start-Sleep -Seconds 10
     Restart-Computer -Force
    }

}
while($global:restart)

$OutEvent.Name |
    ForEach-Object {Unregister-Event -SourceIdentifier $_}
Write-Host "Process finished" 
 

 

 

 

 

 

 

 

 

Спасибо. Но 23 выдает

Share this post


Link to post
Share on other sites

 

Держи не будет больше выскакивать двойным кликом по рег файлу и подтверди изменения в реестре

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting]

"DontShowUI"=dword:00000001

у меня так не работает, а если вот так:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting]
"DontShowUI"=dword:00000001

то работает. В смысле отключает всплывающие сообщения от винды о ошибке.

Edited by user995

Share this post


Link to post
Share on other sites

При зависании геноила после рестарта, он опять вешается. Можно ли в повершел запихнуть команду ребута компа?

А вот, кажется нагуглил команду Restart-Computer. Модифицировал скрипт, что если 3 раза зависнет майнер, то комп ребутиается.

Не знаю есть ли у кого похожая проблема, делал для себя. Но вдруг кому пригодится.

 

 

 

[int]$global:countrestart = 0
do {
    Write-Host "Setting up process" -ForegroundColor Green
    [int]$global:count = 0
    [int]$global:countstr = 0
    [bool]$global:restart = $false
    [bool]$global:reboot = $false
    $pinfo = New-Object System.Diagnostics.ProcessStartInfo
    $pinfo.FileName = "genoil.exe"
    $pinfo.Arguments = "-c equihash.eu.nicehash.com:3357 -u 12whg6pzprh8Sj1Aef42pJXBtCozPL8Adu -p x -P 1"
    $pinfo.UseShellExecute = $false
    $pinfo.CreateNoWindow = $false
    $pinfo.RedirectStandardOutput = $true
    $pinfo.RedirectStandardError = $false
    $process = New-Object System.Diagnostics.Process
    $process.StartInfo = $pinfo
 
    $OutEvent = Register-ObjectEvent -InputObject $process -EventName OutputDataReceived -Action {
	$global:countstr = 0;
        $stdout = $Event.SourceEventArgs.Data
        Write-Host $stdout
	if ($stdout.Contains(": 0.0S/s"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
    if ($stdout.Contains(": job not found"))
        {
            Write-Host "--WARNING. PROCESS WILL BE RESTARTED SOON-- Count error:" $global:count -ForegroundColor Yellow
            $global:count += 1;
        }
 
    if($global:count -gt 5)
        {
            Write-Host "--KILLING PROCESS AND RESTARTING--" -ForegroundColor Red
            $global:restart = $true;
            $global:count = 0;
            Stop-Process -processname genoil
        }
    }
    $process.Start()
    $process.BeginOutputReadLine()
    Write-Host "Process started" -ForegroundColor Green
    while (!$process.HasExited)
    {
         
	$global:countstr += 1;
	if ($global:countstr -gt 15)
	{
        $global:countrestart += 1;
	    Write-Host "--PROCESS NOT RESPONDING. " $global:countrestart -ForegroundColor Yellow
        Write-Host "--KILLING PROCESS AND RESTARTING--" -ForegroundColor Red
        $global:restart = $true
	    $global:count = 0
        Stop-Process -processname genoil
        if ($global:countrestart -gt 2)
            {
               Write-Host "--PROCESS NOT RESPONDING. REBOOTING--" $global:countrestart -ForegroundColor Yellow
               $global:reboot = $true
            }            
		break;
	}
	Start-Sleep -Seconds 1
    }

    if ($global:reboot)
    {
     Write-Host "--REBOOTING IN 10 SEC--" $global:countrestart -ForegroundColor Red
     Start-Sleep -Seconds 10
     Restart-Computer -Force
    }

}
while($global:restart)

$OutEvent.Name |
    ForEach-Object {Unregister-Event -SourceIdentifier $_}
Write-Host "Process finished" 
 

 

 

 

Теперь я полностью заменил себя скриптом... можно идти спать. Вкалывают роботы, а не человек.

 

 

у меня стоит в батнике перезапуск геноила раз в 200 секунд, стабильно работает полчаса-час, а потом майнер просто вылетает каждый раз

решается это ребутом

то есть этот скрипт будет считать только крэши или даже перезапуски с помощью батника?

Share this post


Link to post
Share on other sites
@echo off
:check
tasklist /FI "imagename eq genoil.exe" | find /I /N "genoil.exe" >NUL
if "%ERRORLEVEL%"=="1" start genoil.exe -c us1-zcash.flypool.org:3333 -u ACCOUNT -p z -i 20 -w 64 -P 1 -g 0 1 -k zec -f 2 -z 1
timeout /t 2 /nobreak

goto :check

pause

Поставил в итоге так. За час три креша, но восстанавливается сразу и всё ок

35-45 сол на 470 8gb

 

 

 

UPD

Пока писал этот ответ майнер отвалился полностью и пришлось ребутать комп опять

Кто нибудь представляет решение проблемы?

Share this post


Link to post
Share on other sites

Хочу поделиться приятной мелочью, если вы вдруг используете серверные версии операционок микрософта )) 

Автоматический вход с паролём:

control userpasswords2

Снимаем галочку "требуется ввод", применить и (минимум) вводим пароль администратора:

 

 

 

Ага , ещё б кто подсказал как на рабочем это сделать , если комп входит в домен то нет этого поля с галочкой , вот так то . 

Edited by sar

Share this post


Link to post
Share on other sites

 

tankist,

 

Супер :) Как раз в тему распространённых задач для майнинга, очень многим пригодится. Хотя тут слишком много мышки. Это так же можно сделать PowerShell скриптом одним нажатием.

$RegPath = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

Set-ItemProperty $RegPath "AutoAdminLogon" -Value "1" -type String
Set-ItemProperty $RegPath "DefaultUsername" -Value "YOURDOMAINNAME\Administrator" -type String
Set-ItemProperty $RegPath "DefaultPassword" -Value "YOURPASSWORD" -type String

При нахождении в домене этот скрипт сработает? 

Share this post


Link to post
Share on other sites

 Для тех кто перепробовал все скрипты и батники.

 

У меня у самого стоит десятка - пиратка ) Так вот она с батниками вообще плохо дружит , то зависнут(батники) , то не запустят(genoil) или genoil сразу вылетает. Повершеловские скрипты вылетают без предупреждения))

  Для себя нашел 100пудово рабочий контроль genoil( ну или другого майнера )  

 

1 -  Создаем VBScript(Это такой текстовый файлик с расширением имя.vbs) Ложим в папку с майнером

On Error Resume Next
do

wscript.sleep 600000    ' Сколько милисекунд спит vbsник 600000 = 10 мин

Dim WshShell 
set WshShell = WScript.CreateObject("WScript.Shell") 

WshShell.Run "taskkill /IM genoil.exe"    ' Название завершение майнера в данном случае genoil

loop

2 -  Далее скачиваем чудо программу которую я нашел на просторах необъятного интернета  === >>>  Яндекс диск  ну или там где я ее нашел Тыц

 

3 - Настройка программы 

 

2016-11-03_15-59-57_e71b77bd38ac26ad3ba8

 

1 - Выбираем процесс майнера который у Вас работает и который нужно перезапускать 

2 - Кнопка выбора процесса а рядом кнопка обновления процессов

3 - Пораметры с которыми будет перезапускатся программа майнер (можно не трогать)

4 - Вбиваем полный путь к папке где лежит майнер который нужно перезагрузить

5 - Выстовляем через сколько секунд проверяем запущен ли майнер и дополнительные настройки перезагрузки процесса при зовисании и звуковые сигналы

6 - Poll Count - Это счетчик проверок процесса майнера

7 - Restart Count -  Это сколько раз была востановленна работа майнера

 

Ну сам процесс работы выглядит так :

1 Запускаем настроенный майнер 

2 Открываем Restarter и ищем процесс запущенного майнера в программе выбираем его и настраиваем мониторинг и нажимаем кнопку Start 

3 Запускаем VBS который был выше предварительно настроив время через которое он будет завершать майнер

 

Вот и все VBS будет закрывать майнер через указанное количество миллисекунд а программа мониторит майнер  и если он завис , либо вылител , либо завершен нашим vbsником она его восстанавливает . 

P.S. Две ночи сон спокойный ни единого сбоя (до этого ад все скрипты все пробовал все либо зависают либо вылетают либо не запускают) 

Edited by Dosermen

Share this post


Link to post
Share on other sites

покуда автор .. недопилил рестарт . выкладываю версию .. которая рестартит генол .. если появилась нулевой сол .. либо генол вылетел 

 

http://rgho.st/7F7lYKFbm


возможен запуск двух версий генола .. с разных папок с разными именами файлов 


проверялся на версии 5 генола !

restarter.zip

Edited by restarter

Share this post


Link to post
Share on other sites

Как можно пинговать урл с параметрами типа httр://site.ru/1.php?c=3 раз в минуту из вин7?

Простой пинг в батнике почему-то зацикливается и сильно нагружает проц, не смотря на параметры -n 1 и -w 60000

Edited by jaj

Share this post


Link to post
Share on other sites

 

 

@echo off :st ping site.ru timeout 60 goto :st

хороший вариант, только проц нагружает почему-то полностью... я так понимаю, что пинговать начинает беспрерывно, вместо того, что бы пингануть 1 раз и запаузиться на 60 сек.

Share this post


Link to post
Share on other sites

 

 

я так понимаю, что пинговать начинает беспрерывно, вместо того, что бы пингануть 1 раз и запаузиться на 60 сек.

@echo off

:st

ping  site.ru -n 1

timeout 60

goto :st

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...