Hvordan løser jeg Disk Full-feil på Linux Server?
En guide til å finne store filer, trygt rense logger og frigjøre plass på serveren.
Et av de vanligste problemene på Linux-servere er at disken blir helt full. Når disken blir full, kan nettsteder ikke skrive filer, databasetjenester kan slutte å fungere, spillservere kan ikke registrere logger, og noen tjenester starter kanskje ikke i det hele tatt.
Denne feilen gjenkjennes vanligvis av følgende symptomer:
- Kunne ikke laste opp filer til serveren
- Nedleggelse eller feil i databasetjenesten
- Feilmeldingen "Ingen plass igjen på enheten" vises på panelet
- Spillserveren slår seg av fordi den ikke kan logge.
- 500 feil eller tomme sider oppstår på nettsider
1. Kontrollere diskbruk
Kontroller først hvilken diskpartisjon på serveren som er full.
df -h
spesielt her Bruk % område vurderes. Hvis en seksjon er 90 % eller høyere, betyr det at risikoen har startet. Hvis den er 100 % full, vil ikke tjenester kunne skrive filer.
2. Finn mappene som tar mest plass
Når disken er full, er problemet vanligvis logger, sikkerhetskopier eller hurtigbufferfiler samlet i en enkelt mappe. Sjekk store mapper, start fra rotkatalogen.
du -h --max-depth=1 / 2>/dev/null | sort -h
Denne kommandoen viser hvor mye plass hjemmekataloger tar opp. Vanligvis sjekkes følgende kataloger:
- /var/log - System- og servicelogger
- /hjem - Bruker- og nettsidefiler
- /backup - Gamle sikkerhetskopifiler
- /tmp - Midlertidige filer
- /var/lib/mysql - MySQL/MariaDB-databasefiler
3. Liste over store filer
Noen ganger kan en enkelt loggfil vokse til 10 GB eller mer. For å finne store filer kan du bruke denne kommandoen:
find / -type f -size +500M -exec ls -lh {} \; 2>/dev/nullDenne kommandoen viser filer over 500 MB. Undersøk de resulterende filene nøye. Spesielt .log, .gamle, .gz, .bak og gamle sikkerhetskopifiler bør sjekkes.
4. Sikker rengjøring av loggfiler
Direkte sletting av loggfilen til en kjørende tjeneste gir noen ganger ikke det forventede resultatet. Fordi tjenesten kan fortsette å holde filen åpen. Derfor er den sikreste metoden når du renser store loggfiler å tømme filen.
truncate -s 0 /var/log/dosya_adi.log
Eksempel:
truncate -s 0 /var/log/syslog truncate -s 0 /var/log/messages truncate -s 0 /var/log/nginx/error.log
5. Rengjøring av pakkebuffer
På Ubuntu- og Debian-baserte systemer kan pakkebufferfiler ta opp diskplass over tid.
apt clean apt autoremove -y
På CentOS, AlmaLinux eller Rocky Linux-systemer:
yum clean all dnf clean all
6. Sjekke gamle sikkerhetskopier
Filene som tar mest plass på hosting og spillservere er vanligvis gamle sikkerhetskopier. Spesielt hvis det er et automatisk sikkerhetskopieringssystem, kan nye sikkerhetskopier tas hver dag og gamle sikkerhetskopier kan ikke slettes.
find /backup -type f -mtime +7 -name "*.tar.gz" -ls
Denne kommandoen viser sikkerhetskopier som er eldre enn 7 dager. For å slette etter å ha kontrollert:
find /backup -type f -mtime +7 -name "*.tar.gz" -delete
7. Forhindre omlasting med Logrotate-innstillingen
Selv om disken er renset, hvis årsaken ikke er rettet, vil det samme problemet oppstå igjen etter noen dager. For dette må logrotate-konfigurasjonen kontrolleres.
nano /etc/logrotate.conf
Eksempel på enkel logrotasjonslogikk:
/var/log/*.log {
daily
rotate 7
compress
missingok
notifempty
}Denne innstillingen returnerer loggfiler daglig, beholder dem i 7 dager og komprimerer gamle logger.
Vanlige feil
- Slette systemfiler uten å vite hvilken fil det er
- Sletter den kjørende loggfilen og ikke starter tjenesten på nytt
- Oppbevar gamle sikkerhetskopier i ubegrenset tid
- Sjekker ikke logrotate-innstillingene i det hele tatt
- Ikke grip inn før disken er 100 % full
FAQ
Hvorfor gir serveren en feilmelding når disken er full?
Fordi tjenester ikke kan skrive logger, cacher, midlertidige filer eller databaser. Tjenester kan slås av når skriveoperasjonen mislykkes.
Er det bedre å slette eller tømme loggfilen?
I stedet for å fullstendig slette loggfilen i kjørende tjenester avkorte Det er tryggere å tømme den med.
Jeg renset disken, men plassen ble ikke frigjort, hvorfor?
Den slettede filen kan fortsatt holdes åpen av en kjørende tjeneste. Det kan være nødvendig å starte den aktuelle tjenesten på nytt.
Ytelses- og sikkerhetsanbefalinger
- Overvåk diskbruk regelmessig.
- Lagre sikkerhetskopier på en separat disk eller eksternt sikkerhetskopieringsområde.
- Ikke la en tjeneste kjøre over lengre tid uten å bruke logrotate.
- Ta forholdsregler når disken når 85 % nivå.
- Ikke la feilsøkingslogger være konstant åpne på spillservere.
Denne artikkelen er spesielt utarbeidet for PvPServer.