Wenn Sie diesen Fehler auf Ihrem Linux-Webserver erhalten: -bash:No space left on device , bedeutet dies, dass auf einigen Ihrer Linux-Partitionen kein Speicherplatz mehr vorhanden ist und Sie so schnell wie möglich Speicherplatz freigeben müssen.
Wenn Ihnen der Speicherplatz auf Ihrem Server ausgeht, werden viele Systemdienste fehlschlagen. In diesem Beitrag werden wir die Hauptursachen für diesen Fehler „bash:no space left on device“ analysieren.
Behebung von Bash:Kein Platz mehr auf Gerätefehler
Es gibt zwei Hauptursachen für diesen Fehler:
1- Sie haben den gesamten verfügbaren Speicherplatz erschöpft, indem Sie große Dateien angesammelt haben.
cPanel- und Linux-Server generieren oft viele Fehlerprotokolle, diese Protokolle können in einigen Fällen sehr groß werden und GB an nützlichem Speicherplatz verschwenden. Sie können die error_logs des Benutzers aus dem public_html-Verzeichnis jeder Website löschen, indem Sie diese Befehle ausführen:
rm /home/*/public_html/error_log -fv rm /home/*/public_html/*/error_log -fv rm /home/*/public_html/*/*/error_log -fv rm /home/*/public_html/*/*/*/error_log -fv
Oder wie Ivan oben vorgeschlagen hat:
find /home -type f -name "error_log" -size +10M -delete
„Findet sie in allen Unterverzeichnissen, man kann die Größe angeben und geht schneller durch sie als mit einfachem rm.“
Das Entfernen von Apache-Protokollen kann auch eine nützliche Methode sein, um Speicherplatz zu sparen, wenn Sie keinen Speicherplatz mehr haben. Versuchen Sie, Apache-Protokolle zu entfernen, wenn Sie sie nicht benötigen:
rm -fv /usr/local/apache/logs/*
Für erweiterte Möglichkeiten zum Freigeben von Speicherplatz auf cPanel empfehlen wir Ihnen, diesen Beitrag zu lesen, in dem wir alles darüber erklären, wie Sie Speicherplatz auf cPanel-Servern freigeben
2- Ihnen sind die Inodes ausgegangen, geben Sie diesen Befehl ein, um zu prüfen, ob dies der Grund ist:
df -i
Wenn Sie so etwas sehen:
Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 1420790 1420790 0 100% /
Dann sind Ihnen definitiv die Inodes ausgegangen . Der beste Weg, dies zu beheben, besteht darin, Inodes auf Ihrem Server freizugeben.
Dieser „bash:no space left on device“-Fehler wird oft durch viel zu viele PHP-Sitzungsdateien verursacht.
PHP-Sitzungsdateien befinden sich häufig unter:
/var/lib/php/sessions
Der Speicherort Ihrer PHP-Sitzungsdateien hängt jedoch von Ihrem php.ini-Sitzungshandlerpfad ab, der in Ihrer allgemeinen php.ini-Datei definiert ist. Stellen wir sicher, dass Sie Dateien vom richtigen Speicherort entfernen. So finden Sie Ihre php.ini-Datei:
find / -name php .ini
Unter CentOS befindet es sich normalerweise unter /etc/php.ini. Sehen wir uns den Session-Speicherpfad an, um herauszufinden, wo Ihre PHP-Session-Dateien gespeichert sind:
grep session.save_path /etc/php.ini
Wenn Sie so etwas erhalten, lautet Ihr Sitzungsspeicherpfad: /var/lib/php/session
session.save_path = "/var/lib/php/session"
Sie können versuchen, den Inhalt des angegebenen Ordners zu entfernen:
rm /var/lib/php/session/* -fvR
Danach sollten alle Ihre PHP-Sitzungen entfernt werden.
Wenn sich jedoch zu viele Dateien im Verzeichnis befinden, funktioniert der Befehl rm nicht wie erwartet. Sie können stattdessen den Befehl find verwenden und -exec rm mit einem schnellen Skript wie diesem für jedes Element ausführen, um dieses Bash-Skript zum Entfernen von PHP-Sitzungsdateien zu handhaben :
find /var/lib/php/sessions -type f -cmin +24 -name "sess_*" -exec rm -f {} \;
Schlussfolgerung
Zu diesem Zeitpunkt sollte Ihr Problem behoben sein, jetzt wissen Sie, wie Sie bash beheben können:kein Speicherplatz mehr auf dem Gerät Ihrer Linux-Box. Sie können auch einen Cronjob einstellen, damit Ihre PHP-Sitzungsdateien nach einer bestimmten Zeit (Tage oder Wochen) gelöscht werden.
Bash:Kein Platz mehr auf dem Gerät wurde zuletzt geändert:7. März 2017 von Esteban Borges