[Modul] Internet-Bandbreite überwachen

Hallo,

offline macht es Probleme. Console sagt "IP-Symcon wurde beendet2, auf der Shell steht „active running“. Habe dann versucht den Dienst per Shell zu stoppen kam aber keine Rückmeldung. STRG C, dann Status =

Hallo,

ich bin wieder etwas weitergekommen. mit
„sudo /etc/init.d/symcon stop“ im Backup.sh wurde der Dienst nicht beendet, aber wenn ich „systemctl stop symcon.service“ verwende schon. Damit macht er mir offline ein Backup,

Das habe ich aktuell nur auf meiner Sicherung getestet, da icst kein Speedtest drauf. Werde das nun mal auf meinem produktiven IPS probieren.

hmm, dann geht symcon nicht zuende, weil es doch auf das ende des Scripts wartet.
Ok, dann muss du das von Hand hart killen pkill -9 symcon

-9 ist wichtig, das ist ein SIGKILL, ein hartes Ende
ohne der Angabe ist es -15 ( SIGTERM ), da entscheidet der Prozess, wenn der gnädigst bereit ist, zu ende zu gehen.

Bitte poste mir mal das Script, was du aufrufst, dann kann ich bei mir weiter testen

ah, da hatten sich unsere Posts überschnitten

schön wenn das klappen würde.
mich würde aber das Backup-Script trotzdem interessieren um selbst ein bisschen zu spielen

gerne

backup.txt (1,4 KB)

Unterschied ist klar (How systemd stop command actually works - Stack Overflow)

By default, a SIGTERM is sent, followed by 90 seconds of waiting followed by a SIGKILL .

dh. es dürfte eine Verzögerung geben, aber dann wird eben SIGKILL verwendet und es geht weiter

Hallo,

der Start nach dem Backup haut leider doch nicht hin :frowning:
kommt dann z.B.

 Active: active (exited) since Mon 2023-01-02 18:29:38 CET; 1min 52s ago
   Docs: man:systemd-sysv-generator(8)
Process: 9728 ExecStart=/etc/init.d/symcon start (code=exited, status=0/SUCCESS)
    CPU: 1.192s

Jan 02 18:29:38 IPS-klon systemd[1]: symcon.service: Found left-over process 9108 (symcon-backup.s) in control group while starting unit. Ignoring.
Jan 02 18:29:38 IPS-klon systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Jan 02 18:29:38 IPS-klon systemd[1]: symcon.service: Found left-over process 9724 (sudo) in control group while starting unit. Ignoring.
Jan 02 18:29:38 IPS-klon systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Jan 02 18:29:38 IPS-klon systemd[1]: symcon.service: Found left-over process 9725 (systemctl) in control group while starting unit. Ignoring.
Jan 02 18:29:38 IPS-klon systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.

hab schon alle Start und restart Varianten probiert, ging aber nicht

manuell hast du es aber wieder zum laufen bekommen?

ansonsten werde ich morgen mal ein bisschen hirnen

Nachtrag:

eine Idee noch:

'nohup /var/scripts/symcon-backup.sh offline &'

ersetzen durch

'nohup /var/scripts/symcon-backup.sh offline >/dev/null 2>&1 &'

Das sorgt ja dafür, das stdout und stderr (filedescriptor 1 & 2) auf /dev/null umgeleitet werden und damit von der aktuellen shell disconnected werden.
Vielleicht sind damit alle Verbindung gekappt und symcon geht ohne Problem zu Ende

Wenn das funktioniert hat aber auch, wenn nicht, kann das php-Script eindampfen

<?php

system('nohup /var/scripts/symcon-backup.sh offline >/dev/null 2>&1 &');

system() und exec() sind zwar recht gleich und benutzen natürlich intern die gleiche Kernelfunktion, können aber im Detail doch unterschiedlich funktionieren.

manuell nach dem Backup mit „systemctl restart symcon.service“ läuft IPS wieder

'nohup /var/scripts/symcon-backup.sh offline >/dev/null 2>&1 &'
hat leider nichts gebracht

auch bei

system('nohup /var/scripts/symcon-backup.sh offline >/dev/null 2>&1 &');

ist das System nicht mehr gestartet

das Problem ist schon etwas komplex.

ein anderer Ansatz:

<?php

echo system('echo "/var/scripts/symcon-backup.sh offline" | at now');

bei mir zeigte sich speedtest arbeitsfähig, aber das ist sowieso vom „Lufdruck * Sonnenstand / Laune“ abhängig, ob speedtext nach dem boot Mimose spielt

Hallo,

mit dieser Version


und Cron läuft das Backup und danach startet IPS auch wieder
Der Dienst steht dann zwar nicht auf active (running) sondern active (exited) aber alles funktioniert.
Habe heute alle Stunde ein Backup gemacht.

In IPS das Skript wäre zwar cool, aber du brauchst da nicht unbedingt Zeit investieren.

Gruß

Oliver

d.h. mit systemctl nicht?

das init.d-script wird letztendlich vom systemctl aufgerufen, jedoch macht systemctl nich einiges drum herum. u.a. sorgt er dafür, das der Dienst mit SIGKILL beendet wird, wenn er aufgrund SIGTERM nicht zuende geht.
Und er macht eventuell noch einiges drum herm und so eventuell auch diese Status korrekt verwalten.

Das IPS bei einem SIGTERM nicht zuende geht passiert immer dann, wenn ein Script hängt. Das ist zwar dann für den Backup nicht relevant, aber bedeutet, das Symcon danach nicht wieder startet (Symcon „lebt“ ja noch als Zombie)

das ist so gar kein Problem.

Hallo,

gerade ein Cron Backup mit systemctl stop und start
durchgeführt. Mein Speedtest steht in IPS auf Fehlerhaft.

auf der Shell funktioniert er

sorry, bin gerade nicht ganz auf der höhe und etwas langsam …

mit dem init-script, wie du das im vorvorigen post dargestellt hast, hat speedtest funktioniert?

genau, wenn ich im Skript „sudo /etc/init.d/symcon stop“ und „start“ verwende klappt es mit systemctl nicht

es tut mir leid, jetzt bin ich völlig verwirrt. wenn das bachscrip das init-script benutz, klappt es mit dem systemctl nicht? was hat das nun miteinander zu tun?
das ganze geht doch darum, ob speedtest nach dem backup funktioniert.
also mir ist echt nicht klar, bei welcher vorgehensweise nun was funktioniert bzw nicht funktioniert :zipper_mouth_face:

hallo,

da hätte ein Komma reingehört:

wenn das Backupskript mit Cronjob ausgeführt wird und ich da „sudo /etc/init.d/symcon stop“ und „start“ verwende ist Speedtest in Symcon danach in Ordnung.

wenn ich das Backupskript/ Cronjob mit systemctl im Backupskript ausführe ist Speedtest in Symcon fehlerhaft

mir geht ein :bulb: auf. ok

Bitte schön

<?php

function BackupSymcon(bool $offline = false, string $backupPath = '/tmp', int $backupAge = 14)
{
    $backupFileBase = 'symcon_backup_';
    $backupFileSuffix = '.tgz';

    $backupFilename = $backupFileBase . date('YmdHis') . $backupFileSuffix;
    $backupFilepath = $backupPath . '/' . $backupFilename;
    $backupFilepattern = $backupPath . '/' . $backupFileBase . '*' . $backupFileSuffix;

    $s = 'echo "Symcon Backup"; ';

    if ($offline) {
        $s .= 'echo "  Symcon wird beendet ..."; ';
        $s .= '/etc/init.d/symcon stop;';
    }

    $s .= 'echo -n "Symcon wird gesichert ..."; ';
    $s .= 'cd / && tar -zcpf ' . $backupFilepath . ' var/lib/symcon/; ';
    $s .= 'echo " -> ' . $backupFilepath . '"; ';

    if ($offline) {
        $s .= 'echo "  Symcon wird gestartet ..."; ';
        $s .= '/etc/init.d/symcon start; ';
    }

    if ($backupAge) {
        $s .= 'find ' . $backupFilepattern . ' -type f -mtime +' . $backupAge . ' -delete &> /dev/null; ' . PHP_EOL;
    }

    $cmd = 'echo \'' . $s . '\' | at now';
    echo system($cmd);
}


BackupSymcon(true);

Sorry, passt hier wahrscheinlich nicht her - aber warum beendet ihr symcon für ein Backup? Mach ich schon seit Jahren nicht mehr!