diff --git a/setup.sh b/setup.sh new file mode 100644 index 0000000..157aba4 --- /dev/null +++ b/setup.sh @@ -0,0 +1,121 @@ +#!/bin/bash + +# Конфигурация +SCRIPT_NAME="temp_cpu.sh" +SERVICE_NAME="cpu_temp_monitor" +GITHUB_RAW_URL="https://raw.githubusercontent.com/Arkasha-P/Lenovo-RD450x_Temperature/main/temp_cpu.sh" +INSTALL_DIR="/usr/local/bin" +LOG_DIR="/var/log" +SERVICE_DIR="/etc/systemd/system" +CONFIG_FILE="/etc/default/cpu_temp_monitor" + +# Проверка прав root +if [ "$(id -u)" -ne 0 ]; then + echo "Ошибка: Этот скрипт должен запускаться с правами root!" + exit 1 +fi + +# Установка зависимостей +echo "╔══════════════════════════════════════════╗" +echo "║ Установка необходимых пакетов... ║" +echo "╚══════════════════════════════════════════╝" +apt-get update >/dev/null 2>&1 && apt-get install -y ipmitool >/dev/null 2>&1 || { + echo "Ошибка при установке пакетов!" + exit 1 +} + +# Запрос параметров у пользователя +echo "" +echo "╔══════════════════════════════════════════╗" +echo "║ Настройка параметров мониторинга ║" +echo "╚══════════════════════════════════════════╝" + +read -p "Введите температуру включения турбо-режима (по умолчанию 50): " HIGH_TEMP +HIGH_TEMP=${HIGH_TEMP:-50} + +read -p "Введите температуру выключения турбо-режима (по умолчанию 40): " LOW_TEMP +LOW_TEMP=${LOW_TEMP:-40} + +read -p "Введите интервал проверки в секундах (по умолчанию 5): " CHECK_INTERVAL +CHECK_INTERVAL=${CHECK_INTERVAL:-5} + +# Скачивание скрипта +echo "" +echo "╔══════════════════════════════════════════╗" +echo "║ Скачивание и настройка скрипта... ║" +echo "╚══════════════════════════════════════════╝" +wget -q "$GITHUB_RAW_URL" -O "$INSTALL_DIR/$SCRIPT_NAME" || { + echo "Ошибка при скачивании скрипта!" + exit 1 +} + +# Создание конфигурационного файла +echo "HIGH_TEMP=$HIGH_TEMP" > $CONFIG_FILE +echo "LOW_TEMP=$LOW_TEMP" >> $CONFIG_FILE +echo "CHECK_INTERVAL=$CHECK_INTERVAL" >> $CONFIG_FILE + +# Настройка прав +chmod +x "$INSTALL_DIR/$SCRIPT_NAME" +touch "$LOG_DIR/$SERVICE_NAME.log" +chmod 644 "$LOG_DIR/$SERVICE_NAME.log" + +# Создание systemd службы +echo "" +echo "╔══════════════════════════════════════════╗" +echo "║ Создание systemd службы... ║" +echo "╚══════════════════════════════════════════╝" +cat > "$SERVICE_DIR/$SERVICE_NAME.service" </dev/null 2>&1 + +# Запуск службы +systemctl start "$SERVICE_NAME.service" + +# Добавление алиаса +echo "" +echo "╔══════════════════════════════════════════╗" +echo "║ Настройка алиасов... ║" +echo "╚══════════════════════════════════════════╝" +ALIAS_CMD="alias tempmon='tail -f $LOG_DIR/$SERVICE_NAME.log'" +grep -qF "$ALIAS_CMD" ~/.bashrc || echo "$ALIAS_CMD" >> ~/.bashrc +source ~/.bashrc + +# Итоговая информация +echo "" +echo "╔══════════════════════════════════════════╗" +echo "║ Установка успешно завершена! ║" +echo "╠══════════════════════════════════════════╣" +echo "║ Основной скрипт: $INSTALL_DIR/$SCRIPT_NAME" +echo "║ Конфигурация: $CONFIG_FILE" +echo "║ Логи: $LOG_DIR/$SERVICE_NAME.log" +echo "╠══════════════════════════════════════════╣" +echo "║ Команды управления: ║" +echo "║ Просмотр логов: tempmon ║" +echo "║ Статус службы: systemctl status $SERVICE_NAME" +echo "║ Перезапуск: systemctl restart $SERVICE_NAME" +echo "║ Редактировать: nano $INSTALL_DIR/$SCRIPT_NAME" +echo "╚══════════════════════════════════════════╝" +echo "" +echo "Для изменения параметров отредактируйте файл $CONFIG_FILE" +echo "и выполните: systemctl restart $SERVICE_NAME"