Разгон в простое от аренды
Кредитный майнингСОДЕРЖАНИЕ ИНСТРУКЦИИ:
- Скрипт 1. Без уведомлений в телеграм
- Скрипт 2. С уведомлениями в телеграм
- Описание скриптов
- Настройка
- Что делать, если перестаёт применяться разгон после отключения питания рига
С помощью скриптов из этой инструкции на clore можно применять разгон во время майнинга в простое от аренды и автоматически сбрасывать его, когда риг возьмут в аренду. Есть два вида скриптов: без уведомлений в телеграм и с уведомлениями в телеграм.
ВАЖНО! Для применения разгона используется nvtool. Работает только в HiveOS. В Ubuntu этой утилиты нет, надо использовать nvidia-smi.
Скрипт 1 (без уведомлений в телеграм):
#!/bin/bash
container_name="clore-default-"
command_on_start="nvtool --setclocks 2590 --setcoreoffset 300 --setmem 810 --setmemoffset 0 --setpl 0" # Тут меняй разгон, который быдет применяться во время майнинга в простое, ковычки оставь на месте, этот комент можно не удалять.
command_on_stop="nvtool --setclocks 0 --setcoreoffset 0 --setmem 0 --setmemoffset 0 --setpl 0" # Тут ничего менять не надо, это разгон, который будет применяться во время аренды, но при желании можно установить PL в допустимых 10-15%, 0 значит будет применено стоковое значение, т.е. без разгона, этот комент можно не удалять.
server_name="Rig3" # Тут меняй имя сервера, ковычки оставь на месте, этот комент можно не удалять.
container_started=false
container_stopped=true
while true; do
container_id=$(docker ps --format "{{.Names}} {{.ID}}" | grep "$container_name" | awk '{print $2}')
if [ -n "$container_id" ]; then
# Контейнер запущен
echo "$server_name Mining run, OC run, Rent stop"
if ! $container_started; then
eval "$command_on_start"
container_started=true
container_stopped=false
fi
else
# Контейнер не запущен
echo "$server_name Mining stop, OC stop, Rent start"
if ! $container_stopped; then
eval "$command_on_stop"
container_stopped=true
container_started=false
fi
fi
sleep 30
done
Скрипт 2 (с уведомлениями в телеграм):
#!/bin/bash
container_name="clore-default-"
command_on_start="nvtool --setclocks 2590 --setcoreoffset 300 --setmem 810 --setmemoffset 0 --setpl 0" # Тут меняй разгон, который быдет применяться во время майнинга в простое, ковычки оставь на месте, этот комент можно не удалять.
command_on_stop="nvtool --setclocks 0 --setcoreoffset 0 --setmem 0 --setmemoffset 0 --setpl 0" # Тут ничего менять не надо, это разгон, который будет применяться во время аренды, но при желании можно установить PL в допустимых 10-15%, 0 значит будет применено стоковое значение, т.е. без разгона, этот комент можно не удалять.
server_name="Rig3" # Тут меняй имя сервера, ковычки оставь на месте, этот комент можно не удалять.
container_started=false
container_stopped=true
bot_token="ВАШ_ТОКЕН_ТЕЛЕГРАМ_БОТА" # Сюда вставляй токен от телеграм бота, ковычки оставь на месте, этот комент можно не удалять.
chat_id="ВАШ_ЧАТ_ID" # Сюда вставляй свой чат ID, ковычки оставь на месте, этот комент можно не удалять.
# Функция для отправки сообщения в телеграм
send_telegram_message() {
message="$1"
curl -s -X POST https://api.telegram.org/bot$bot_token/sendMessage -d chat_id=$chat_id -d text="$message" > /dev/null
}
while true; do
container_id=$(docker ps --format "{{.Names}} {{.ID}}" | grep "$container_name" | awk '{print $2}')
if [ -n "$container_id" ]; then
# Контейнер запущен
if ! $container_started; then
message="$server_name Mining run, OC run, Rent stop"
echo "$message"
send_telegram_message "$message"
eval "$command_on_start"
container_started=true
container_stopped=false
fi
message="$server_name Mining run, OC run, Rent stop"
echo "$message"
else
# Контейнер не запущен
if ! $container_stopped; then
message="$server_name Mining stop, OC stop, Rent start"
echo "$message"
send_telegram_message "$message"
eval "$command_on_stop"
container_stopped=true
container_started=false
fi
message="$server_name Mining stop, OC stop, Rent start"
echo "$message"
fi
sleep 30
done
Описание скриптов
Первый скрипт применяет нужный вам разгон во время майнинга в простое, и сбрасывать ранее примененный разгон в стоковое значение, когда риг будет взят в аренду. При прекращении аренды снова применит заданный в скрипте разгон для майнинга в простое.
Второй скрипт делает все тоже самое, только еще при этом шлет уведомления в телеграм.
Настройка
Если будем использовать второй вариант с уведомлениями в телеграм, то выполняем шаг 1 и шаг 2. В случае первого скрипта без уведомлений, начинаем делать с шага 3.
1) Идем к телеграм боту, с помощью него создаем себе телеграм бота. После создания получаем token to access the HTTP API, его надо будет вставить в указанное место во втором скрипте.
2) Идем к телеграм боту, он выдаст ID вашего чата, его надо будет вставить в указанное место во втором скрипте.
3) Создадим файл oc.sh
Открываем HiveShell или WebShell и отправляем команду:
sudo nano /home/user/oc.sh
Откроется редактор. Вставляем уже отредактированный скрипт (первый или второй)

Жмём Ctrl+X --> Y --> Enter
Даем права на выполнение:
chmod +x /home/user/oc.sh
Запускаем:screen -S oc /home/user/oc.sh
Чтобы выйти Ctrl+a+d, скрипт при этом продолжит работу. Чтобы завершить работу скрипта:
screen -S oc -X quit
Добавляем скрипт в автозагрузку при старте системы:crontab -e
в самом низу добавляем строчки:
# Автозапуск OC @reboot sleep 120 && screen -dmS oc /bin/bash -c '/home/user/oc.sh; exec bash'

ВАЖНО! После того как вставили строчки с автозапуском нажать Enter, чтобы курсор перешёл на след. строку, иначе будет ругаться и не создаст крон для автозапуска.
Жмём F2 --> Yes -->F10
Чтобы изменить разгон отправляем команду:
sed -i '/^command_on_start=/ s|command_on_start=".*"|command_on_start="nvtool --setclocks 1680 --setcoreoffset 210 --setmem 810 --setmemoffset 0 --setpl 380"|' /home/user/oc.sh
Предварительно изменив значения разгона на какой требуется. В результате в файле oc.sh будет заменена соответствующая строка без необходимости открывать и редактировать файл. И далее перезапускаем скрипт командой:
source /home/user/oc.sh > /dev/null 2>&1
Таким образом завершать работу скрипта для внесения правок нет необходимости.
Что делать, если перестаёт применяться разгон после отключения питания рига.
Открываем HiveShell и пишем команду:
mc
Откроется "файловый менеджер".

Далее нам нужно перейти в корневую папку. Для этого с помощью стрелочек на клавиатуре выбираем / .. и жмём Enter, снова выбираем / .. и жмём Enter. Теперь мы находимся в корневой папке:

Далее идём по пути:
/hive/etc/
Ищем файлик crontab.root, стрелочками наводим на него и жмём f4

Откроется редактирование файла. Нам нужно в самый низ дописать:
# Автозапуск OC
@reboot sleep 120 && screen -dmS oc /bin/bash -c '/home/user/oc.sh; exec bash'

После того как дописали, жмём f2 —>yes—>f10.
Тем самым мы добавили наш скрипт с разгоном в автозагрузку. Теперь даже после отключения питания он будет стартовать. Проблема почти решена. Осталось только перезагрузить риг 2 раза.
ВАЖНО!!! Перезагрузить именно два раза.