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 aSIGKILL
.
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
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
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
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 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.
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
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