Hur löser jag Disk Full Error på Linux Server?
En guide för att hitta stora filer, säkert rensa loggar och frigöra utrymme på servern.
Ett av de vanligaste problemen på Linux-servrar är att disken blir helt full. När disken blir full kan webbplatser inte skriva filer, databastjänster kan sluta fungera, spelservrar kanske inte registrerar loggar och vissa tjänster kanske inte startar alls.
Detta fel upptäcks vanligtvis av följande symtom:
- Det gick inte att ladda upp filer till servern
- Databastjänst avstängning eller fel
- Felet "Inget utrymme kvar på enheten" visas på panelen
- Spelservern stängs av eftersom den inte kan logga.
- 500 fel eller tomma sidor förekommer på webbplatser
1. Kontrollera diskanvändning
Kontrollera först vilken diskpartition på servern som är full.
df -h
speciellt här Använd % område beaktas. Om en sektion är 90 % eller högre betyder det att risken har börjat. Om den är 100 % full kommer tjänsterna inte att kunna skriva filer.
2. Hitta de mappar som tar upp mest plats
När disken är full är problemet vanligtvis loggar, säkerhetskopior eller cachefiler som samlas i en enda mapp. Kontrollera stora mappar, med början från rotkatalogen.
du -h --max-depth=1 / 2>/dev/null | sort -h
Detta kommando visar hur mycket utrymme hemkataloger tar upp. Vanligtvis kontrolleras följande kataloger:
- /var/log - System- och serviceloggar
- /hem - Användar- och webbplatsfiler
- /backup - Gamla säkerhetskopior
- /tmp - Tillfälliga filer
- /var/lib/mysql - MySQL/MariaDB databasfiler
3. Lista stora filer
Ibland kan en enskild loggfil växa till 10 GB eller mer. För att hitta stora filer kan du använda det här kommandot:
find / -type f -size +500M -exec ls -lh {} \; 2>/dev/nullDetta kommando listar filer över 500 MB. Undersök de resulterande filerna noggrant. Speciellt .log, .gammal, .gz, .bak och gamla säkerhetskopior bör kontrolleras.
4. Säker rengöring av loggfiler
Att direkt ta bort loggfilen för en tjänst som körs ger ibland inte det förväntade resultatet. Eftersom tjänsten kan fortsätta att hålla filen öppen. Därför är den säkraste metoden när du rengör stora loggfiler att tömma filen.
truncate -s 0 /var/log/dosya_adi.log
Exempel:
truncate -s 0 /var/log/syslog truncate -s 0 /var/log/messages truncate -s 0 /var/log/nginx/error.log
5. Rengöring av paketcache
På Ubuntu och Debian-baserade system kan paketcachefiler ta upp diskutrymme med tiden.
apt clean apt autoremove -y
På CentOS, AlmaLinux eller Rocky Linux-system:
yum clean all dnf clean all
6. Kontrollera gamla säkerhetskopior
De filer som tar upp mest utrymme på hosting- och spelservrar är vanligtvis gamla säkerhetskopior. Speciellt om det finns ett automatiskt säkerhetskopieringssystem kan nya säkerhetskopior tas varje dag och gamla säkerhetskopior kanske inte raderas.
find /backup -type f -mtime +7 -name "*.tar.gz" -ls
Detta kommando listar säkerhetskopior som är äldre än 7 dagar. För att radera efter att ha kontrollerat:
find /backup -type f -mtime +7 -name "*.tar.gz" -delete
7. Förhindra omladdning med Logrotate-inställningen
Även om disken rengörs, om orsaken inte åtgärdas, kommer samma problem att uppstå igen efter några dagar. För detta måste logrotate-konfigurationen kontrolleras.
nano /etc/logrotate.conf
Exempel på enkel logrotationslogik:
/var/log/*.log {
daily
rotate 7
compress
missingok
notifempty
}Den här inställningen returnerar loggfiler dagligen, sparar dem i 7 dagar och komprimerar gamla loggar.
Vanliga misstag
- Ta bort systemfiler utan att veta vilken fil det är
- Tar bort den pågående loggfilen och startar inte om tjänsten
- Spara gamla säkerhetskopior under en obegränsad tid
- Kontrollerar inte logrotate-inställningarna alls
- Ingrip inte förrän skivan är 100 % full
FAQ
Varför ger servern ett felmeddelande när disken är full?
Eftersom tjänster inte kan skriva loggar, cachar, temporära filer eller databaser. Tjänster kan stängas av när skrivoperationen misslyckas.
Är det bättre att ta bort eller tömma loggfilen?
Istället för att helt radera loggfilen i pågående tjänster trunkera Det är säkrare att tömma den med hjälp av.
Jag rengjorde disken men utrymmet frigjordes inte, varför?
Den raderade filen kan fortfarande hållas öppen av en tjänst som körs. Det kan bli nödvändigt att starta om den relevanta tjänsten.
Prestanda och säkerhetsrekommendationer
- Övervaka diskanvändningen regelbundet.
- Lagra säkerhetskopior på en separat disk eller ett fjärrområde för säkerhetskopiering.
- Lämna inte en tjänst igång under lång tid utan att använda logrotate.
- Vidta försiktighetsåtgärder när skivan når 85 % nivå.
- Lämna inte felsökningsloggar ständigt öppna på spelservrar.
Den här artikeln är speciellt förberedd för PvPServer.