Se ricevi questo errore sul tuo server web Linux: -bash:Nessuno spazio rimasto sul dispositivo , significa che non c'è spazio rimasto su alcune delle tue partizioni Linux e devi liberare spazio su disco al più presto.
Quando si sta esaurendo lo spazio sul server, molti servizi di sistema inizieranno a non funzionare. In questo post analizzeremo le cause principali di questo errore "bash:nessuno spazio rimasto sul dispositivo".
Correzione di Bash:nessuno spazio rimasto sull'errore del dispositivo
Le cause principali di questo errore sono due:
1- Hai esaurito tutto lo spazio disponibile accumulando file di grandi dimensioni.
I server cPanel e Linux spesso generano molti log di errori, questi log possono diventare molto grandi in alcuni casi, sprecando GB di spazio utile su disco. Puoi eliminare i log degli errori dell'utente dalla directory public_html di ogni sito web eseguendo questi comandi:
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
O come Ivan ha suggerito sopra:
find /home -type f -name "error_log" -size +10M -delete
"Li trova in tutte le sottodirectory, puoi specificare la dimensione e allo stesso tempo scorrerli più velocemente rispetto all'utilizzo di rm semplice."
La rimozione dei log di Apache può anche essere un modo utile per risparmiare spazio su disco quando ne sei fuori. Prova a rimuovere i log di Apache se non ne hai bisogno:
rm -fv /usr/local/apache/logs/*
Per metodi avanzati per liberare spazio su disco su cPanel ti consigliamo di leggere questo post, dove spieghiamo completamente tutto su come liberare spazio su disco sui server cPanel
2- Hai esaurito gli inode, digita questo comando per verificare se questo è il motivo:
df -i
Se vedi qualcosa del genere:
Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 1420790 1420790 0 100% /
Quindi hai sicuramente esaurito gli inode . Il modo migliore per risolvere questo problema è liberare gli inode sul tuo server.
Questo errore "bash:nessuno spazio rimasto sul dispositivo" è spesso causato da troppi file di sessione php.
I file di sessione PHP si trovano spesso in:
/var/lib/php/sessions
Tuttavia, la posizione dei file di sessione php dipende dal percorso del gestore di sessione php.ini, definito nel file php.ini generale. Assicuriamoci di rimuovere i file dalla posizione corretta. Per individuare il tuo file php.ini:
find / -name php .ini
Su CentOS di solito si trova in /etc/php.ini. Vediamo qual è il percorso di salvataggio della sessione per scoprire dove sono archiviati i file della sessione php:
grep session.save_path /etc/php.ini
Se ottieni qualcosa del genere, il tuo percorso di salvataggio della sessione è: /var/lib/php/session
session.save_path = "/var/lib/php/session"
Puoi provare a rimuovere i contenuti della cartella specificata:
rm /var/lib/php/session/* -fvR
Dopo questo, tutte le tue sessioni php dovrebbero essere rimosse.
Tuttavia, se ci sono troppi file all'interno della directory, il comando rm non funzionerà come previsto, puoi invece usare il comando find ed eseguire -exec rm contro ogni elemento usando uno script rapido come questo per gestire questo script bash per rimuovere i file di sessione php :
find /var/lib/php/sessions -type f -cmin +24 -name "sess_*" -exec rm -f {} \;
Conclusione
A questo punto il tuo problema dovrebbe essere risolto, ora sai come risolvere bash:nessuno spazio rimasto sul dispositivo sul tuo box Linux. Puoi anche impostare un cronjob per eliminare i file della sessione php dopo un certo periodo di tempo (giorni o settimane).
Bash:Nessuno spazio rimasto sul dispositivo è stato modificato l'ultima volta:7 marzo 2017 da Esteban Borges