Script um verbindung zu OpenVPN Server aufzubauen

Hinweis: In dem Thema Script um verbindung zu OpenVPN Server aufzubauen gibt es 50 Antworten auf 6 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Du kannst MAN Pages auch im Browser öffnen.
    Ist besser lesbar.
    Dazu Konsole öffnen und z.B.:

    Code
    man -Hfirefox systemd.service

    Für den Inhalt des Beitrages 124202 haftet ausdrücklich der jeweilige Autor: sterun

  • Konqueror kennt in der Adresszeile #systemd.service für Manpages und info:<gewünschte-Info-Seite> für die enstprechenden Infoseiten (so vorhanden).
    Ob das bei oS15 noch geht, weiß ich nicht. Leider wird ja konqueror nicht mehr weiterentwickelt.


    Die Manpages sind für sehr, sehr viele Kommandos vorhanden.
    Sie sind immer die erste Anlaufstelle, wenn man etwas nicht weißt.


    Die Info-Seiten stellen das erste "Hypertext System" dar.
    Fast so alt, wie die Manpages selbst. Aber leider sträflich vernachlässigt.
    Wenn aber zu einem Befehl eine Info Seite vorhanden ist, so ist das die ultimative Hilfe.
    Denn das ist dann die (fast vollständige) Referenz.
    info <SomeCommand> und man <SomeCommand> sollte man immer probieren.


    Und weil wir grade dabei sind:
    Für in die Shell eingebaute Kommandos gibt es help <SomeShellInternalCommand>
    Um also Hilfe für das Bash- Konstrukt if.... zu erhalten, nimmt man help if


    Für die Kommandos, die Sonderzeichen darstellen, quotet man das Kommando z.B.:
    help "[["

  • Ich bin jetzt einen Schritt weiter, jedoch wird der mounten service nicht automatisch ausgeführt.


    Mein Service-File:

    Code
    [Unit]
    Description=Mounten nach VPN Verbindung
    After=openvpn.target
    [Service]
    Type=simple
    ExecStart= /home/User1/Schreibtisch/mounten.sh
    [Install]
    WantedBy=multi-user.target



    Mein Shell-Skript:

    NAS.fstab enthält nur die Netzlaufwerke, kopiert aus der fstab-Datei.


    Wenn ich
    systemctl start mounten.service
    ausführe, werden die Netzlaufwerke gemountet wie gewünscht, jedoch nicht, nach einem Systemstart oder wenn die Netzwerkverbindung getrennt wurde (hier werden Sie gar nicht unmountet). Den mounten-Service habe ich mit
    systemctl enable mounten.service
    aktiviert.

    Für den Inhalt des Beitrages 124211 haftet ausdrücklich der jeweilige Autor: wacken

  • Du startest aber als root das systemd-File?
    Als root:

    Code
    systemctl status mounten.service

    Für den Inhalt des Beitrages 124212 haftet ausdrücklich der jeweilige Autor: Sauerland

  • und es genügt nicht nur die STDOUT Ausgabe umzuleiten.
    Du musst auch STDERR umleiten ( 2>/dev/null oder 2>/pfad/zu/meinLog )


    Das möchtest du für jeden Befehl machen,
    ODER z.B.
    ein exec 2>/meinLog.out 1>/meinLog.err
    Lies dazu help exec und man exec.
    (Ja, manche Kommandos gibt es in einer internen und externen Variante)


    Du kannst das auch als User machen.
    Die Dateien liegen dann in ~/.systemd


  • Ich habe das Skript angepasst, jedoch geht es immer noch nicht, es zeigt das selbe Verhalten wie zuvor auch.

    Für den Inhalt des Beitrages 124216 haftet ausdrücklich der jeweilige Autor: wacken

  • Für den Inhalt des Beitrages 124219 haftet ausdrücklich der jeweilige Autor: wacken

  • Nochmal das hier lesen:

    Da steht nirgends "vor das > eine 2 setzen".



    Und der Job wurde ausgeführt.

    Code
    --cut--
      Process: 4355 ExecStart=/home/User1/Schreibtisch/mounten.sh (code=exited, status=0/SUCCESS)
     Main PID: 4355 (code=exited, status=0/SUCCESS)
    --cut--

    Sogar ohne Error.


    Natürlich ist der Job danach tot.
    Es ist ja ein Sript, das nur ein paar Befehle ausführt und dann endet, also stirbt.
    Du willst wohl doch eher eine Schleife, die nach einem Schläfchen checkt, ob es nun wieder mounten muss, oder die Mounts noch gültig sind.