Veröffentlicht am Schreiben Sie einen Kommentar

Wie Sie mit einem einfachen Bash-Skript Ihren Linux-Server optimieren und MariaDB bei hoher Swap-Auslastung neu starten können

Getestet mit Debian 12.2 / AlmaLinux

Wie man MariaDB automatisch neu startet, wenn die Swap-Auslastung zu hoch ist

MariaDB ist ein beliebtes Open-Source-Datenbankmanagementsystem, das auf vielen Linux-Servern eingesetzt wird. Es kann jedoch vorkommen, dass MariaDB zu viel Speicher verbraucht und den Swap-Speicher beansprucht, was die Leistung des Servers beeinträchtigen kann. In diesem Beitrag werde ich Ihnen zeigen, wie Sie ein einfaches Bash-Skript schreiben können, das die RAM- und Swap-Auslastung in Prozent anzeigt und MariaDB neu startet, wenn die Swap-Auslastung über 50% liegt. Dies kann nützlich sein, um MariaDB regelmäßig zu optimieren und zu vermeiden, dass der Server überlastet wird.

#!/bin/bash

# Display RAM usage in percent
echo "RAM Usage:" 
free | awk '/Mem/{printf("Used: %.2f% \n"), $3/$2*100.0}'

# Display Swap usage in percent
echo "Swap Usage:" 
SWAP_TOTAL=$(swapon -s | awk 'NR>1{print $3}')
SWAP_USED=$(swapon -s | awk 'NR>1{print $4}')
SWAP_USAGE=$(echo "scale=2; $SWAP_USED/$SWAP_TOTAL*100" | bc)
echo "Used: $SWAP_USAGE%"

# Check if the Swap usage is over 50%
if (( $(echo "$SWAP_USAGE > 50" | bc -l) )); then
    echo 'Swap usage is over 50%, restarting MariaDB...'
    sudo systemctl restart mariadb
else
    echo 'Swap usage is under 50%, no need to restart MariaDB.'
fi
Veröffentlicht am Schreiben Sie einen Kommentar

Shell-Script: Auf RAM und Swap Verbrauch reagieren

Dieses getestete Shell-Script ermittelt den Speicherverbrauch RAM und SWAP unter einem Debian 11.
Es startet wenn die SWAP Nutzung über 50% liegt in diesem Beispiel den MariaDB Datenbankserver neu um SWAP und RAM Ressourcen wieder freizugeben. Dieses Bash-Script eigenet sich sich für kleine VPS-Server die wenig Ressourcen haben um z.B. Dienste neuzustarten wie mysql / mariaDB um Ressourcen die den Seitenaufruf blockieren wieder freizugeben.
Das Script funktioniert unter bash und sh.

#!/bin/bash

# RAM-Verbrauch in Prozent anzeigen
echo "RAM-Verbrauch:"
free | awk '/Mem/{printf("Verbraucht: %.2f% \n"), $3/$2*100.0}'

# Swap-Verbrauch in Prozent anzeigen
echo "Swap-Verbrauch:"
free | awk '/Swap/{printf("Verbraucht: %.2f% \n"), $3/$2*100.0}'

# Swap-Verbrauch in Prozent ermitteln
SWAP_USAGE=$(free | awk '/Swap/{printf("%.0f"), $3/$2*100}')

# Überprüfen, ob der Swap-Verbrauch über 50% liegt
if (( SWAP_USAGE > 50 )); then
    echo "Swap-Verbrauch ist über 50%, MariaDB wird neu gestartet..."
    sudo systemctl restart mariadb
else
    echo "Swap-Verbrauch ist unter 50%, kein mariaDB Neustart erforderlich."
fi

In Crontab hinzufügen

Crontab -e

*/5 * * * * bash ~/ram_verbrauch.sh

Das Script wird im Homeverzeichnis des Benutzers geladen, der Pfad zum Shell-Script kann frei angepasst werden.

Veröffentlicht am Schreiben Sie einen Kommentar

Server: Prozesse automatisch Neustarten (Shell-Script)

Startet z.B. MariaDB neu falls dieser nicht mehr läuft. Dieses funktioniert und ist getestet mit Debian 11.
Falls MariaDB nicht mehr laufen sollte wird dieser Service einfach neugestartet. Dieses lässt sich auch für andere Services erweitern. Schade das es WatchDog nicht mehr gibt für Debian 11.
Dieses Shell-Script funktioniert mit bash und sh.

#!/bin/bash

# Überprüfen, ob der MariaDB-Dienst läuft
if systemctl is-active --quiet mariadb
then
    echo "MariaDB läuft."
else
    echo "MariaDB läuft nicht. Starte MariaDB neu..."
    # MariaDB neu starten
    systemctl start mariadb
    if systemctl is-active --quiet mariadb
    then
        echo "MariaDB wurde erfolgreich neu gestartet."
    else
        echo "Fehler beim Neustart von MariaDB."
    fi
fi

Hier ist eine detaillierte Beschreibung:

  1. #!/bin/bash: Dies ist der Shebang, der angibt, dass das Skript mit bash, der Bourne-Again-Shell, ausgeführt werden soll.
  2. if systemctl is-active --quiet mariadb: Dieser Befehl überprüft, ob der MariaDB-Dienst aktiv ist. Wenn der Dienst aktiv ist, gibt systemctl is-active --quiet mariadb einen Exit-Code von 0 zurück.
  3. echo "MariaDB läuft.": Wenn der MariaDB-Dienst läuft, wird diese Nachricht ausgegeben.
  4. else: Dieser Teil des Skripts wird ausgeführt, wenn der MariaDB-Dienst nicht läuft.
  5. echo "MariaDB läuft nicht. Starte MariaDB neu...": Diese Nachricht wird ausgegeben, wenn der MariaDB-Dienst nicht läuft.
  6. systemctl start mariadb: Dieser Befehl versucht, den MariaDB-Dienst zu starten.
  7. if systemctl is-active --quiet mariadb: Nach dem Versuch, den Dienst zu starten, überprüft das Skript erneut, ob der Dienst jetzt läuft.
  8. echo "MariaDB wurde erfolgreich neu gestartet.": Wenn der Dienst erfolgreich gestartet wurde, wird diese Nachricht ausgegeben.
  9. else echo "Fehler beim Neustart von MariaDB.": Wenn der Dienst immer noch nicht läuft, wird diese Fehlermeldung ausgegeben.

Cronjob mittels Crontab -e

 einen Cronjob zu erstellen, der alle 5 Minuten überprüft, ob ein Prozess läuft, können Sie den crontab-Befehl verwenden. Hier ist ein Beispiel, wie Sie das tun können:

  1. Öffnen Sie Ihren Crontab mit dem Befehl crontab -e.
  2. Fügen Sie die folgende Zeile hinzu, um Ihr Skript alle 5 Minuten auszuführen:
*/5 * * * * /pfad/zum/skript.sh

Ersetzen Sie /pfad/zum/skript.sh durch den tatsächlichen Pfad zu Ihrem Skript.

Dieser Cronjob wird nun alle 5 Minuten ausgeführt und überprüft, ob der MariaDB-Prozess läuft, und startet ihn neu, wenn er nicht läuft.

Bitte beachten Sie, dass Sie möglicherweise sudo vor dem crontab-Befehl benötigen, abhängig von Ihren Systemberechtigungen. Stellen Sie außerdem sicher, dass Ihr Skript ausführbare Berechtigungen hat. Sie können dies mit dem Befehl chmod +x /pfad/zum/skript.sh erreichen. 

Veröffentlicht am Schreiben Sie einen Kommentar

Welche dezentralen Messenger Netzwerke gibt es 2023?

Im Jahr 2023 gibt es eine Reihe von dezentralen Messenger Netzwerken. Diese Netzwerke sind im Gegensatz zu zentralisierten Messenger Netzwerken wie WhatsApp oder Facebook nicht von einem einzelnen Unternehmen oder einer Organisation kontrolliert. Stattdessen werden sie von einer verteilten Gruppe von Nutzern betrieben.

Zu den bekanntesten dezentralen Messenger Netzwerken gehören:

  • Matrix ist ein offenes und interoperables Kommunikationsprotokoll, das eine Vielzahl von Messenger Anwendungen unterstützt. Zu den beliebtesten Matrix Messengern gehören Element, Riot und Synapse.
  • XMPP ist ein weiteres offenes Kommunikationsprotokoll, das von einer Reihe von Messenger Anwendungen unterstützt wird. Zu den beliebtesten XMPP Messengern gehören Gajim, Pidgin und ChatSecure.
  • Session ist ein dezentraler Messenger, der auf dem Tor Netzwerk basiert. Session bietet eine hohe Sicherheit und Privatsphäre.
  • Diaspora ist ein soziales Netzwerk, das auch einen Messenger enthält. Diaspora ist dezentralisiert und wird von einer verteilten Gruppe von Nutzern betrieben.
  • Mastodon ist ein Microblogging-Netzwerk, das auch einen Messenger enthält. Mastodon ist dezentralisiert und wird von einer verteilten Gruppe von Nutzern betrieben.

Neben diesen etablierten Netzwerken gibt es auch eine Reihe neuerer dezentraler Messenger Netzwerke, die sich noch in der Entwicklung befinden. Zu diesen Netzwerken gehören unter anderem:

  • Keybase ist ein Messenger, der auf dem Keybase Identitätsprotokoll basiert. Keybase bietet eine hohe Sicherheit und Privatsphäre.
  • Briar ist ein Messenger, der auf dem Tor Netzwerk basiert. Briar ist dezentralisiert und bietet eine hohe Sicherheit und Privatsphäre.
  • Tox ist ein Messenger, der auf dem Tox Netzwerk basiert. Tox ist dezentralisiert und bietet eine hohe Sicherheit und Privatsphäre.

Dezentrale Messenger Netzwerke bieten eine Reihe von Vorteilen gegenüber zentralisierten Messenger Netzwerken. Dazu gehören:

  • Mehr Privatsphäre und Sicherheit: Da dezentrale Messenger Netzwerke nicht von einem einzelnen Unternehmen oder einer Organisation kontrolliert werden, haben Nutzer mehr Kontrolle über ihre Daten.
  • Mehr Widerstandsfähigkeit: Dezentrale Messenger Netzwerke sind weniger anfällig für Zensur oder Ausfälle.
  • Mehr Freiheit: Dezentrale Messenger Netzwerke ermöglichen es Nutzern, ihre eigenen Messenger Anwendungen zu entwickeln und zu betreiben.

Allerdings gibt es auch einige Nachteile von dezentralen Messenger Netzwerken. Dazu gehören:

  • Weniger Nutzer: Dezentrale Messenger Netzwerke haben in der Regel weniger Nutzer als zentralisierte Messenger Netzwerke.
  • Komplexität: Dezentrale Messenger Netzwerke können komplexer sein als zentralisierte Messenger Netzwerke.

Insgesamt bieten dezentrale Messenger Netzwerke eine Reihe von Vorteilen gegenüber zentralisierten Messenger Netzwerken. Sie sind jedoch noch nicht so weit verbreitet wie zentralisierte Messenger Netzwerke.

Veröffentlicht am Schreiben Sie einen Kommentar

Ist der Einsatz von Werbeblock Methoden in der europäischen Union und in Deutschland legal? Darf YouTube werbeblocker verbieten? Gab es mit der Bildzeitung einen Rechtsstreit wegen Werbeblockern?

Ja, der Einsatz von Werbeblock Methoden ist in der europäischen Union und in Deutschland legal. Es gibt keine Gesetze, die den Einsatz von Werbeblockern verbieten.

YouTube darf Werbeblocker nicht verbieten. Werbeblocker sind eine Form des Nutzerschutzes und dürfen daher nicht durch Anbieter von Online-Inhalten eingeschränkt werden.

Es gab einen Rechtsstreit zwischen der Bildzeitung und einem Nutzer, der einen Werbeblocker eingesetzt hatte. Die Bildzeitung hatte den Nutzer auf Unterlassung des Einsatzes des Werbeblockers verklagt. Das Landgericht Hamburg entschied jedoch, dass der Einsatz des Werbeblockers rechtmäßig war.

Die Entscheidung des Landgerichts Hamburg ist rechtskräftig. Sie bedeutet, dass Werbeblocker in Deutschland auch in Zukunft legal eingesetzt werden dürfen.

Hier sind die wichtigsten Argumente für die Legalität von Werbeblockern:

  • Werbeblocker sind eine Form des Nutzerschutzes. Sie schützen Nutzer vor lästiger Werbung und vor Malware, die über Werbung verbreitet werden kann.
  • Werbeblocker sind nicht schädlich für die Anbieter von Online-Inhalten. Sie verringern zwar die Einnahmen aus Werbung, aber sie erhöhen auch die Benutzerfreundlichkeit der Angebote.
  • Werbeblocker sind nicht illegal. Es gibt keine Gesetze, die den Einsatz von Werbeblockern verbieten.

Hier sind die wichtigsten Argumente gegen die Legalität von Werbeblockern:

  • Werbeblocker schaden den Anbietern von Online-Inhalten. Sie verringern die Einnahmen aus Werbung, was zu einer geringeren Qualität der Angebote führen kann.
  • Werbeblocker sind unfair gegenüber den Anbietern von Online-Inhalten. Sie nutzen sich die Angebote der Anbieter ohne dafür zu bezahlen.

Die Entscheidung des Landgerichts Hamburg hat diese Argumente jedoch nicht überzeugt. Das Gericht entschied, dass der Einsatz von Werbeblockern ein legitimes Mittel des Nutzerschutzes ist.

Veröffentlicht am Schreiben Sie einen Kommentar

Funktioniert mod_security in Plesk auch mit nginx?

Ja, mod_security funktioniert auch mit nginx in Plesk. Plesk bietet eine ModSecurity-Komponente für nginx, die die ModSecurity-3.0-Web-Application-Firewall (WAF) für Nginx implementiert.

Um ModSecurity mit nginx in Plesk zu verwenden, müssen Sie zunächst die ModSecurity-Komponente installieren. Sie können dies tun, indem Sie zu Tools & Einstellungen > Updates & Upgrades > Komponenten hinzufügen/entfernen > Gruppe Webhosting gehen und die ModSecurity-Komponente auswählen.

Sobald die ModSecurity-Komponente installiert ist, können Sie sie aktivieren. Dazu gehen Sie zu Tools & Einstellungen > Web Application Firewall (ModSecurity) und aktivieren die Option “ModSecurity aktivieren”.

Sie können ModSecurity auch in einem Testmodus verwenden, um zu sehen, ob es Ihre Anwendungen blockiert. Dazu aktivieren Sie die Option “ModSecurity im Testmodus aktivieren”. Im Testmodus wird ModSecurity keine Anfragen blockieren, sondern nur Protokolle generieren.

ModSecurity ist eine leistungsstarke WAF, die Ihre Webanwendungen vor einer Reihe von Angriffen schützen kann. Wenn Sie nginx in Plesk verwenden, können Sie ModSecurity verwenden, um Ihre Anwendungen noch besser zu schützen.

Hier sind die Schritte, um ModSecurity mit nginx in Plesk zu verwenden:

  1. Installieren Sie die ModSecurity-Komponente für nginx.
  2. Aktivieren Sie ModSecurity.
  3. (Optional) Aktivieren Sie den Testmodus.

Voraussetzungen:

  • Plesk Obsidian oder höher
  • Nginx 1.14 oder höher

Anleitung:

  1. Installieren Sie die ModSecurity-Komponente für nginx.

Gehen Sie zu Tools & Einstellungen > Updates & Upgrades > Komponenten hinzufügen/entfernen > Gruppe Webhosting und wählen Sie die ModSecurity-Komponente aus. Klicken Sie auf “Installieren”.

  1. Aktivieren Sie ModSecurity.

Gehen Sie zu Tools & Einstellungen > Web Application Firewall (ModSecurity) und aktivieren Sie die Option “ModSecurity aktivieren”.

  1. (Optional) Aktivieren Sie den Testmodus.

Um ModSecurity in einem Testmodus zu verwenden, aktivieren Sie die Option “ModSecurity im Testmodus aktivieren”. Im Testmodus wird ModSecurity keine Anfragen blockieren, sondern nur Protokolle generieren.

Fazit:

ModSecurity ist eine leistungsstarke WAF, die Ihre Webanwendungen vor einer Reihe von Angriffen schützen kann. Wenn Sie nginx in Plesk verwenden, können Sie ModSecurity verwenden, um Ihre Anwendungen noch besser zu schützen.