95 lines
2.8 KiB
Bash
Executable File
95 lines
2.8 KiB
Bash
Executable File
#!/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 |