Скрипт для удобного создания и управления системными сервисами Linux через интерфейс в терминале. Позволяет быстро создавать сервисы systemd для Python-скриптов и управлять ими без необходимости вручную редактировать конфигурационные файлы.
- 🚀 Быстрое создание сервисов - создание сервиса systemd в несколько кликов
- 🔄 Полное управление сервисами - запуск, остановка, перезапуск
- 📝 Просмотр логов - удобный просмотр журналов работающего сервиса
- 🔧 Редактирование конфигурации - изменение параметров сервиса через встроенный редактор
- 🔍 Мониторинг состояния - отслеживание статуса всех созданных сервисов
- 🛡️ Безопасное удаление - корректное удаление сервисов с подтверждением
- ⚡ Поддержка разных окружений - запуск через чистый Python, UV-менеджер, Poetry, PHP-сервер, Shell-скрипты
- 📣 Расширенные уведомления - настройка уведомлений в Telegram с информацией о статусе сервисов, отправкой логов и отслеживанием событий с серверов
- Linux с systemd (например, Ubuntu, CentOS, Debian)
- Bash
- Права суперпользователя (sudo)
- Python3 и/или UV менеджер и/или Poetry и/или PHP и/или Bash (в зависимости от выбранного режима запуска)
- Любой текстовый редактор (vim, vi)
- Интернет-соединение для отправки уведомлений (при использовании соответствующей функции)
Вы можете скачать скрипт напрямую из репозитория:
curl -o service.sh https://raw.githubusercontent.com/darkClaw921/services-create-curl/master/service.sh
chmod +x service.shИли клонировать весь репозиторий:
git clone https://github.com/darkClaw921/services-create-curl.git
cd services-create-curl
chmod +x service.shВы также можете запустить скрипт одной командой без необходимости сохранять его на диск:
bash <(curl -sSL https://raw.githubusercontent.com/darkClaw921/services-create-curl/master/service.sh) <(echo)Чтобы установить почтовый сервер на голый vps можете испоьльзовать этот скрипт
bash <(curl -sSL https://raw.githubusercontent.com/darkClaw921/services-create-curl/master/setup_mail.sh) <(echo)
``
> ⚠️ **Внимание**: Эта команда загружает и выполняет скрипт напрямую. Всегда проверяйте скрипты из интернета перед их выполнением с правами суперпользователя!
## Использование
### Запуск скрипта
```bash
sudo ./service.sh
⚠️ Внимание: Для работы скрипта требуются права суперпользователя!
После запуска вы увидите главное меню с четырьмя опциями:
- Создать новый сервис - создание нового systemd-сервиса
- Просмотреть и управлять существующими сервисами - просмотр и управление сервисами
- Менеджер уведомлений - настройка уведомлений о статусе сервисов
- Завершить работу скрипта - выход из программы
- В главном меню выберите "Создать новый сервис"
- Выберите режим запуска:
- "Чистый Python" для запуска через python3
- "UV менеджер" для запуска через uv run
- "Poetry" для запуска через poetry run python
- "PHP сервер" для запуска PHP-файла на указанном порту
- "Shell скрипт" для запуска bash/sh скриптов
- Выберите файл из текущей директории, для которого нужно создать сервис
- Введите описание сервиса
- Скрипт создаст systemd-сервис и предложит запустить его
- В главном меню выберите "Просмотреть и управлять существующими сервисами"
- Выберите сервис из списка для управления
- Выберите нужное действие из меню управления сервисом:
- Запуск сервиса - запуск остановленного сервиса
- Остановка сервиса - остановка работающего сервиса
- Перезапуск сервиса - перезапуск сервиса
- Просмотр журнала сервиса - просмотр логов сервиса
- Редактирование файла сервиса - изменение параметров сервиса
- Удаление сервиса - удаление сервиса из системы
- Возврат в список сервисов - возврат к списку всех сервисов
При выборе опции "Просмотр журнала сервиса" вы можете:
- Просмотреть последние 50 строк журнала
- Просмотреть полный журнал сервиса
- Наблюдать за журналом в реальном времени
- Запустите скрипт
sudo ./service.sh - Выберите "Менеджер уведомлений"
- Включите уведомления через пункт "Включить/выключить уведомления"
- Настройте Telegram Chat ID, следуя инструкции в меню:
- Добавьте бота @userinfobot в Telegram
- Отправьте боту сообщение /start
- Скопируйте полученный ID и вставьте его в соответствующее поле
- Протестируйте отправку уведомлений через пункт "Протестировать отправку уведомления"
После настройки уведомлений вы будете получать информативные сообщения в Telegram при изменении статуса любого сервиса:
- ✅ Запуск сервиса - уведомление при успешном запуске
- 🛑 Остановка сервиса - уведомление при остановке сервиса
- 🔄 Перезапуск сервиса - уведомление при перезапуске сервиса
Каждое уведомление содержит:
- Имя сервиса и его текущий статус
- IP-адрес сервера, с которого пришло уведомление
- Имя пользователя, от имени которого запущен сервис
- Текущие дату и время события
- Файл с последними 50 строками логов сервиса
Это позволяет оперативно отслеживать состояние сервисов на всех ваших серверах и быстро реагировать на возникающие проблемы.
- Подготовьте ваш Python-скрипт (
script.py) в нужной директории - Запустите скрипт
sudo ./service.sh - Выберите "Создать новый сервис"
- Выберите "Чистый Python"
- Выберите ваш файл
script.py - Введите описание (например, "Мой тестовый сервис")
- Выберите "y" для запуска сервиса сразу
- Подготовьте ваш PHP-файл (
index.php) в нужной директории - Запустите скрипт
sudo ./service.sh - Выберите "Создать новый сервис"
- Выберите "PHP сервер"
- Введите хост и порт (например, "localhost:8080")
- Выберите ваш файл
index.php - Введите описание (например, "Мой PHP-сервис")
- Выберите "y" для запуска сервиса сразу
- Запустите скрипт
sudo ./service.sh - Выберите "Просмотреть и управлять существующими сервисами"
- Выберите нужный сервис из списка
- Выберите "Просмотр журнала сервиса"
- Выберите "Наблюдать за журналом в реальном времени"
- Подготовьте ваш shell-скрипт (
script.sh) в нужной директории - Убедитесь что скрипт имеет права на выполнение:
chmod +x script.sh - Запустите скрипт
sudo ./service.sh - Выберите "Создать новый сервис"
- Выберите "Shell скрипт"
- Выберите ваш файл
script.sh - Введите описание (например, "Мой shell-скрипт")
- Выберите "y" для запуска сервиса сразу
Вы можете клонировать репозиторий и сразу создать сервис для содержащегося в нем скрипта:
# Клонируем репозиторий
git clone https://github.com/darkClaw921/services-create-curl.git
cd services-create-curl
# Выбираем нужные опции и создаем сервис-
Создание сервисов
- Автоматическое определение пути к исполняемым файлам
- Создание конфигурационного файла systemd
- Активация сервиса для автозапуска
-
Управление сервисами
- Запуск, остановка и перезапуск
- Просмотр журналов (логов)
- Редактирование конфигурации
- Удаление сервисов
-
Пользовательский интерфейс
- Цветной интерфейс для удобства использования
- Навигация по меню
- Информативные сообщения и подсказки
- Скрипт хранит список созданных сервисов в файле
/var/lib/service-creator/created_services.list - Файлы сервисов создаются в директории
/etc/systemd/system/ - При создании сервиса скрипт автоматически устанавливает рабочую директорию на папку, из которой был запущен скрипт
- Ошибка "Команда не найдена" - убедитесь, что Python3 или UV установлены в системе
- Ошибка при запуске сервиса - проверьте журнал сервиса для получения деталей проблемы
- Сервис не запускается автоматически - проверьте статус с помощью
systemctl status имя_сервиса - bash: /dev/fd/63: No such file or directory - запустите скритп иным способом
curl -sSL https://raw.githubusercontent.com/darkClaw921/services-create-curl/master/service.sh -o service.sh
chmod +x service.sh
sudo ./service.shили
curl -sSL https://raw.githubusercontent.com/darkClaw921/services-create-curl/master/service.sh | sudo bashДанный скрипт распространяется под лицензией MIT.
Если у вас есть вопросы или предложения, свяжитесь со мной:
