visor

0

Описание

Утилита для запуска по расписнию других приложений или скриптов

Языки

  • Vue79,2%
  • Go18,4%
  • JavaScript0,9%
  • Shell0,7%
  • CSS0,6%
  • HTML0,2%
3 месяца назад
3 месяца назад
2 года назад
3 месяца назад
3 месяца назад
2 года назад
3 месяца назад
3 года назад
3 месяца назад
3 года назад
3 месяца назад
3 месяца назад
3 месяца назад
README.md

И так, что умеет:

  • Циклически запускать какое-либо приложение
  • Запускать по некому расписанию
  • Может потушить приложение, если оно не уложилось в определенное время
  • Может для каждого приложения создавать свои логи
  • Имеет свой web интерфейс

Вы скажите, что это можно все сделать и с помощью системных утилит, и Вы будете правы. Я его создавал для себя, чтобы не лазить во все эти системные утилиты. Разбираться с ними. Вот и родился этот велосипед.

Параметры для запуска:

  • info - подробная информация о заданиях визора
  • status - текущее состояние задания
  • restart - перезапустить задание
  • stop - остановить задание
  • del - удаляет задание из визора
  • reload - перезагрузить конфиг
  • to EXIT - завершить работу визора

CLI

-p порт для cli (по умолчанию 20000)

-i IP web (по умолчанию 127.0.0.1)

-l основной лог программы

-d демонизировать программу

Первые шаги.

Поместим визор в какой-нибудь каталог на пример:

/opt/visor.
Запустим программу. В Вашем каталоге должны появиться 2 рабочие директории - это log и script.

Создавать задания можно как через файл конфигураций, так и через web интерфейс.

Описание конфига задания:

config.yml

"123": Название задания title: "" Описание env: [] user: "" От какого пользователя запустить cmd: ls -a Комманда logdir: log/ Каталог куда будут складываться логи limitlog: "" timer: Расписание для задания, таймер - month: "" days: "14" hours: "10" minutes: "43" sleepstart: 0 Через какое время в секундах запуститься команда workdir: script/ Рабочая директория

Описание расписания:

  • month, интервал действия таймера, или конкретный месяц (пример:
    1-10
    ,
    3
    )
  • day, то же самое что и month, плюс можно чтобы он отработал в конце месяца (
    end
    ), через некое количество дней(
    +4
    - каждые 4 дня)
  • hours, то же самое что и day, но без
    end
  • minutes, нет интервалов работы, только через какое-то время(
    +4
    - каждые 4 минуты), или в определенную минуту

Для одной задачи, можно составить множество таймеров.

Запускаем:

./visor -d

Пример CLI

Предположим мы собрали nginx и хотим его запустить:

./visor start nginx