Si vous obtenez cette erreur sur votre serveur Web Linux : -bash :No space left on device , cela signifie qu'il ne reste plus d'espace sur certaines de vos partitions Linux et que vous devez libérer de l'espace disque dès que possible.
Lorsque vous manquez d'espace sur votre serveur, de nombreux services système commencent à échouer. Dans cet article, nous analyserons les principales causes de cette erreur "bash :pas d'espace disponible sur l'appareil".
Correction de Bash :pas d'espace restant sur l'erreur de l'appareil
Il y a deux causes principales à cette erreur :
1- Vous avez épuisé tout l'espace disponible en accumulant des fichiers volumineux.
Les serveurs cPanel et Linux génèrent souvent de nombreux journaux d'erreurs, ces journaux peuvent devenir très volumineux dans certains cas, gaspillant des Go d'espace disque utile. Vous pouvez supprimer les error_logs de l'utilisateur depuis le répertoire public_html de chaque site Web en exécutant ces commandes :
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
Ou comme Ivan l'a suggéré ci-dessus :
find /home -type f -name "error_log" -size +10M -delete
"Les trouve dans tous les sous-répertoires, vous pouvez spécifier la taille tout en les parcourant plus rapidement qu'en utilisant rm ordinaire."
La suppression des journaux Apache peut également être un moyen utile d'économiser de l'espace disque lorsque vous n'en avez plus. Essayez de supprimer les journaux Apache si vous n'en avez pas besoin :
rm -fv /usr/local/apache/logs/*
Pour des moyens avancés de libérer de l'espace disque sur cPanel, nous vous recommandons de lire cet article, où nous expliquons en détail tout ce qui concerne la façon de libérer de l'espace disque sur les serveurs cPanel
2- Vous n'avez plus d'inodes, tapez cette commande pour vérifier si c'est la raison :
df -i
Si vous voyez quelque chose comme ceci :
Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 1420790 1420790 0 100% /
Ensuite, vous avez définitivement manqué d'inodes . La meilleure façon de résoudre ce problème est de libérer des inodes sur votre serveur.
Cette erreur "bash :pas d'espace disponible sur l'appareil" est souvent causée par un trop grand nombre de fichiers de session php.
Les fichiers de session PHP sont souvent situés à :
/var/lib/php/sessions
Cependant, l'emplacement de vos fichiers de session php dépend du chemin de votre gestionnaire de session php.ini, celui-ci est défini dans votre fichier php.ini général. Assurons-nous que vous supprimez les fichiers du bon emplacement. Pour localiser votre fichier php.ini :
find / -name php .ini
Sur CentOS, il se trouve généralement dans /etc/php.ini. Voyons quel est le chemin de sauvegarde de la session pour savoir où sont stockés vos fichiers de session php :
grep session.save_path /etc/php.ini
Si vous obtenez quelque chose comme ceci, alors le chemin d'enregistrement de votre session est : /var/lib/php/session
session.save_path = "/var/lib/php/session"
Vous pouvez essayer de supprimer le contenu du dossier spécifié :
rm /var/lib/php/session/* -fvR
Après cela, toutes vos sessions php devraient être supprimées.
Cependant, s'il y a trop de fichiers dans le répertoire, la commande rm ne fonctionnera pas comme prévu, vous pouvez à la place utiliser la commande find et exécuter -exec rm sur chaque élément en utilisant un script rapide comme celui-ci pour gérer ce script bash afin de supprimer les fichiers de session php :
find /var/lib/php/sessions -type f -cmin +24 -name "sess_*" -exec rm -f {} \;
Conclusion
À ce stade, votre problème devrait être résolu, vous savez maintenant comment réparer bash :il ne reste plus d'espace sur l'appareil sur votre machine Linux. Vous pouvez également définir un cronjob pour que vos fichiers de session php soient supprimés après un certain laps de temps (jours ou semaines).
Bash:No space left on device was last modified:mars 7th, 2017 by Esteban Borges