Майнинг без остановки!
В процессе майнинга битков я столкнулся с проблемой. А именно с тем, что на моей рабочей машинке периодически отваливался cgminer. Связано это, я думаю, с тем, что это происходит именно на рабочем компьютере. То одну программу запустишь, то другую... А операционкой на компе, к сожалению, является Винда. Но я не буду сейчас обсуждать ее плюсы и минусы. Лучше расскажу о том, как я проблему решил. И так цель:
- Необходимо обеспечить постоянную и бесперебойную работу программы cgminer. В случае, если программа завершилась аварийно, обеспечивать ее перезапуск.
- Необходимо периодически программу перезагружать (например раз в час), чтобы исключить возникновение возможных ошибок.
- Запуск программы необходимо осуществлять в скрытом режиме (зачем мозолить глаза случайным свидетелям).
Для решения своей задачи я воспользовался такой замечательной программой, как nnCron. Вот, что про нее пишут на родном сайте:
nnCron - это компактный (900k), но мощный планировщик и менеджер автоматизации с собственным скриптовым языком, основанным на синтаксисе языка программирования Форт. Помимо традиционной для планировщика способности запускать в указанное время программы, "напоминалки" и открывать документы, nnCron умеет:
- запускать произвольные программы как сервисы
- запускать задачи "от имени" указанных юзеров
- отслеживать и перезапускать просроченные задачи и напоминалки
- выключать или "усыплять" компьютер в заданное время, "будить" компьютер, чтобы запустить задачу
- отображать/скрывать/закрывать/убивать/сворачивать/разворачивать и прятать в системный трей заданные окна, добавлять в трей произвольные иконки
- менять размер и местоположение окон, а также изменять их "прозрачность"
- выводить на экран и в лог-файл любые сообщения, в том числе и запросы на выполнение указанных действий
- работать с клипбордом, файлами и реестром
- эмулировать клавиатурный ввод и операции с мышкой
- звонить и класть трубку
- воспроизводить аудио-файлы и "пищать" через системный динамик
- синхронизировать системное время
- присваивать процессам указанный приоритет и прерывать работу любых запущенных процессов
- автоматически перезапускаться после фатальных ошибок
Немаловажным фактом является возможность работы программы в качестве службы. nnCron работает в Windows 7 32 и 64 бит.
Саму программу я скачал с родного сайта по ссылке. Это бета версия, аж от 2008 года :-) При установке я указал, что программа устанавливается как системная служба:
Данная программа абсолютно бесплатна для жителей России при некоммерческом ее использовании. Мы же не будем с ее помощью коммерцией заниматься ;-) Чтобы она нам не докучала вплывающими окошками о пробном периоде, нам необходимо ее зарегистрировать. Для этого в командной строке вводим команду:
"C:\Program Files\nnCron\tm.exe" xReg
Думаю, что как вызвать командную строку объяснять не нужно. Да, если у вас Windows 7 64 Bit, то программа, скорее всего, установится в директорию "Program Files (x86)". Тогда код будет выглядеть так:
"C:\Program Files (x86)\nnCron\tm.exe" xReg
В появившемся окошке введите xUSSR регистрация в качестве имени и текущий день недели (по-pусски) вместо паpоля:
Далее необходимо записать несколько задач для nncron. Правой кнопкой мыши щелкаем по значку nnCron в трее, выбираем пункт "Добавить задачу":
Открывается окно с новой задачей. Даем ей название, например "Reset_mining". Открываем вкладку "Дополнительно":
Вводим код скрипта:
Time: 0 * * * * * Action: KILL: "cgminer.exe" PAUSE: 3000 StartIn: "E:\COINS\cgminer-2.9.4-win32" SWHide NormalPriority START-APP: E:\COINS\cgminer-2.9.4-win32\pool_maxi_norm.bat
Что скрипт делает:
Time: 0 * * * * * - запускаться каждую 0-ю минуту каждого часа
Action:
KILL: "cgminer.exe" - убить процесс cgminer
PAUSE: 3000 - подождать 3 сек.
StartIn: "E:\COINS\cgminer-2.9.4-win32" - работать в папке. У вас будет та папка, откуда производится запуск cgminer
SWHide NormalPriority - запустить процесс скрытым с нормальным приоритетом
START-APP: E:\COINS\cgminer-2.9.4-win32\pool_maxi_norm.bat - запустить bat файл. У меня запуск cgminer'а осуществляется с помощью батника. У вас батник может иметь другое имя и храниться по другому пути.
Сохраняем скрипт. Перечитываем все задания nnCron:
Мы тем самым обеспечили перезапуск cgminer'а каждый час. Теперь запишем второй скрипт с таким содержимым:
Time: */5 * * * * * Rule: PROC-EXIST: "cgminer.exe" NOT Action: StartIn: "E:\COINS\cgminer-2.9.4-win32" SWHide NormalPriority START-APP: E:\COINS\cgminer-2.9.4-win32\pool_maxi_norm.bat
Сохраняем скрипт и перечитываем кронтабы. Данный скрипт раз в 5 минут проверяет наличие работающего процесса cgminer.exe. В случае если он не существует, осуществляем его запуск.
Итак мы получили бесперебойно работающий cgminer. При этом его окошко не болтается на виду у всех. Данное решение можно применить и на чужих машинах для скрытого майнинга. Нет-нет, боже упаси, я не призываю вас к противоправным действиям. Все должно быть по обоюдному согласию :-)
P.S. А еще с помощью nnCron мы можем выполнять и другие полезные действия связанные с майнингом и просто полезные для вас лично. Одним из решений, которое я применял, была ловля удачи в соло майнинге. С некоторой периодичностью я прибивал работу cgminer'а на пул, и запускал соло майнинг на пару часов. Таким образом был пойман один блок, когда за него еще давали 50 битков. Но потом удача отвернулась от меня и я этот режим отключил.
8 Комментариев
Рекомендуемые комментарии
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти