#!/bin/bash set -e # Путь к файлу службы SERVICE_FILE="wyoming-satellite.service" DEST_PATH="/etc/systemd/system/${SERVICE_FILE}" # Проверка прав суперпользователя if [ "$(id -u)" -ne 0 ]; then echo "Этот скрипт должен быть запущен с правами суперпользователя (sudo)" exit 1 fi # Функция для установки службы install_service() { echo "Устанавливаю службу Wyoming Satellite..." # Копируем файл службы cp "${SERVICE_FILE}" "${DEST_PATH}" chmod 644 "${DEST_PATH}" # Делаем скрипт запуска исполняемым chmod +x "$(pwd)/start_satellite.sh" # Перезагружаем systemd systemctl daemon-reload echo "Служба установлена. Используйте 'sudo systemctl start ${SERVICE_FILE}' для запуска." } # Функция для удаления службы remove_service() { echo "Удаляю службу Wyoming Satellite..." # Останавливаем и отключаем службу systemctl stop "${SERVICE_FILE}" 2>/dev/null || true systemctl disable "${SERVICE_FILE}" 2>/dev/null || true # Удаляем файл службы rm -f "${DEST_PATH}" # Перезагружаем systemd systemctl daemon-reload echo "Служба удалена." } # Функция для отображения статуса show_status() { echo "Статус службы Wyoming Satellite:" systemctl status "${SERVICE_FILE}" } # Обработка аргументов командной строки case "$1" in install) install_service ;; remove) remove_service ;; status) show_status ;; start) echo "Запускаю службу Wyoming Satellite..." systemctl start "${SERVICE_FILE}" ;; stop) echo "Останавливаю службу Wyoming Satellite..." systemctl stop "${SERVICE_FILE}" ;; restart) echo "Перезапускаю службу Wyoming Satellite..." systemctl restart "${SERVICE_FILE}" ;; enable) echo "Включаю автозапуск службы Wyoming Satellite..." systemctl enable "${SERVICE_FILE}" ;; disable) echo "Отключаю автозапуск службы Wyoming Satellite..." systemctl disable "${SERVICE_FILE}" ;; logs) echo "Журнал службы Wyoming Satellite:" journalctl -u "${SERVICE_FILE}" -f ;; *) echo "Использование: $0 {install|remove|status|start|stop|restart|enable|disable|logs}" exit 1 ;; esac exit 0