[Modul] Internet-Bandbreite überwachen

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!

ja, das ist richtig. Backups mache ich auch i.d.R. online.
Es gibt zwar ein minimales Risiko (je nach Größe der settings.json) auf Inkonsistenzen, aber das ist doch eher akademisch.
Alle amderen Dateien sind ja so klein, das die in einem Rutsch und in sich konsistent gesichert werden.

1 „Gefällt mir“

Hallo,
sonst habe ich, wenn ich mal dran gedacht hab ein Zip Backup selbst gestarter. Ich hatte schon auch mehrfach versucht dazu eine Antwort zu bekommenob online oder offline, da ja Dropbox auch nur online sichert, und da das Dropbox Modul permanent Fehlerhaft ist und dann nicht mehr sichert, habe ich nach einer anderen Lösung gesucht.
Es gab aber immer nur sehr unklare aussagen zu Online/offline, deshalb hatte ich mir das Backupskript mit dem Cronjob erstellt.
Das macht Montag offline und die anderen Tage ein Onlinebackup.

Danke, hatte mich einfach nur interessiert :wink:

Hallo,

irgendwie macht das Skript bei mir gar nichts.

habe dann den Pfad geändert auf '/mnt/backupstick, um auszuschließen dass es Berechtigungsprobleme sind.
dann
"function BackupSymcon(bool $offline = false "
mal auf
"function BackupSymcon(bool $offline = true "
geändert. Aber es wird weder der Dienst gestoppt, noch habe ich ein File im Verzeichnis