SmartControl - screen-Steuerung für Linux

    • Beta
    • Open Source

      SmartControl - screen-Steuerung für Linux

      Name: SmartControl

      Beschreibung:
      Es ermöglicht die einfache Steuerung von der screen-Anwendung unter Linux, um Anwendungen automatisch zu starten oder stoppen. Jeder screen-Instanz können bei Start/Stop Inputs gesendet werden.
      Konfigurationen für Instanzen werden in einer Config-Datei hinterlassen und dann mit Namen angesteuert. Das Programm erkennt, ob eine Konfiguration bereits läuft und verhindert bei Bedarf den Mehrfachstart einer Konfiguration. Durch SmartControl müssen Daten von Konfigurationen wie Programmname, Argumente, Arbeitsverzeichnis, uvm. nur noch an einer zentralen Stelle eingerichtet werden und sind dann einfach und unkompliziert direkt start- und stoppbar.

      Beispiel-Konfiguration
      Diese Konfiguration erstellt bei Start den Editor nano in einer screen-Instanz, gibt dort den Text "This is a demo!"[Enter] ein; bei Stop schließt es den Editor ([STRG+X]), wobei bestätigt wird, dass der Inhalt gespeichert ("j") und der vorgegebene Dateiname genutzt werden soll ([ENTER]):

      Quellcode

      1. ​{
      2. "serverconfigurations": [
      3. {
      4. "name": "NanoDemo",
      5. "restartDelay": 1,
      6. "allowMultipleInstances": false,
      7. "filepath": "nano",
      8. "workingdirectory": "",
      9. "arguments": "demo.txt",
      10. "sendOnStart": [
      11. "This ",
      12. "is ",
      13. "a ",
      14. "demo!^M"
      15. ],
      16. "sendOnStop": [
      17. "^X",
      18. "j",
      19. "^M"
      20. ]
      21. }
      22. ]
      23. }


      Verwendung:
      [mono] SmartControl.exe [Start|Stop|Restart] [Name]
      oder
      [mono] SmartControl.exe [-l|--list|-h|--help|-v|--version]
      • -l/-list gibt alle geladenen Konfigurationen aus
      • -h/--help zeigt den Hilfetext an
      • -v/--version zeigt die aktuelle Version des Programms an

      Beispiel:
      ​mono SmartControl.exe Start NanoDemo

      Motivation:
      Als Sysadmin verschiedener Linux-Server bin ich begeisterter Fan von screen. Bisher fehlte mir aber die Möglichkeit, schnell und einfach Screens zu konfigurieren und zu starten:
      • Shell? - Bei häufiger Nutzung keine ernst-zunehmende Alternative.
      • Crontab? - Blöd nur, wenn ich screens manuell starten/stoppen möchte.
      • Bash-Scripts? - Dann lieber gar nicht...
      Also kurzerhand VS und mono geschnappt und losgelegt!

      Screenshot(s):
      Keine, da Konsolenanwendung.

      Verwendete Programmiersprache(n) und IDE(s):
      • IDE: Visual Studio 2017 RC
      • Sprache: C#
      • Framework: .NET Framework 4.0 bzw. mono-runtime 4.0
      • Libraries: NewtonsoftJson (NuGet), log4net (NuGet)

      Systemanforderungen:
      • screen-Anwendung
      • mono-runtime 4.0

      Systemveränderungen:
      Keine, es werden lediglich Config-Dateien (JSON-Format) und Logs im Arbeitsverzeichnis erstellt.

      Download(s):
      Quellcode: Github (Achtung: Code noch undokumentiert)
      Kompiliert: Anhang (v1.0.0.0)

      Lizenz/Weitergabe:
      Das Programm ist Open Source, Verbesserungsvorschläge und Pull-Requests sind gerne gesehen!-l-list
      Dateien
      • SmartControl.zip

        (305,62 kB, 98 mal heruntergeladen, zuletzt: )