Свършва ли ви дисково пространство на Linux? Проверете вашите регистрационни файлове!

Ключови изводи

  • Системните регистрационни файлове на Linux могат да заемат значително количество дисково пространство.
  • Вашата система обикновено ще компресира по-стари регистрационни файлове, за да спести дисково пространство.
  • Можете да използвате командата journalctl или tail -f, за да видите регистрационни файлове и да идентифицирате проблемни процеси.

Въпреки че Linux системите имат репутацията на елегантни, може да откриете, че внезапно дисковото ви пространство започва да ви свършва. защо се е случило това Най-голямата улика и вероятно най-големият виновник ще бъде намерена във вашите системни регистрационни файлове на Linux.

Защо регистрационните файлове заемат толкова много дисково пространство?

Дневниците са важна част от управлението на вашата Linux система. Можете да видите какво се случва с вашата машина и можете също така да отстраните проблемите, които възникват. Демоните за регистриране на Linux са подобни на Event Viewer в Windows. Дневниците обикновено не заемат много място. Това е така, защото повечето дистрибуции автоматично ще управляват колко място заемат на вашия диск.

Журналите на Linux исторически са били обикновени текстови файлове, но с много големи дистрибуции, преминаващи към systemd, те са двоични файлове, които се управляват от journald, услуга на systemd. Като алтернатива, вашата дистрибуция ще използва или rsyslog, или syslog-ng.

  7-те най-добри инструменти за уеб камера за потребители на Linux

Тъй като старите регистрационни файлове не са подходящи и големите архиви могат да заемат място, вашата система обикновено ще ги „върти“ – архивира, компресира и в крайна сметка ги изтрива – за да спести място на диска за нещата, които всъщност искате.

Въпреки че може да не мислите, че регистрационните файлове ще заемат много място, неправилно функциониращ процес може да запълни вашите регистрационни файлове по-бързо, отколкото системата може да ги завърти.

Ако проверите дисковото си пространство и внезапно откриете, че започва да се изчерпва и знаете, че наскоро не сте изтегляли никакви големи файлове, причината може да е проблем с системните регистрационни файлове на Linux. Ще трябва да разберете какво запълва вашите системни регистрационни файлове и да го поправите.

Можете да проверите колко дисково пространство използвате с командата du -h:

 du -h /var/log 

Ще видите списък на всяка поддиректория, заедно с общото пространство, което заема:

Намиране на вашите регистрационни файлове

Ако използвате модерна дистрибуция на Linux със systemd, ще използвате програмата journalctl, за да видите своите журнали; journald обикновено съхранява регистрационни файлове в директориите /var/log/journal или /run/log/journal, в зависимост от дистрибуцията.

За да прегледате регистрационните файлове, въведете командата journald в командния ред. Има и други полезни опции на командния ред. За да видите съобщенията за зареждане, използвайте опцията -b:

 journalctl -b 

Можете да видите съобщенията в регистрационния файл на вашата система в реално време с опцията -f.

  Как да играете Dead Rising 4 на Linux

Ако вашата дистрибуция не използва systemd, ще намерите регистрационните файлове в директорията /var/log. Дори със systemd, някои програми все още съхраняват своите журнали в тази директория. Това са обикновени текстови файлове, които можете да прегледате с помощна програма като пейджър, като less.

Например, за да прочетете системния регистър:

 less /var/log/syslog

Ще видите пълното съдържание на лог файла, който може да съдържа хиляди редове:

Можете също да го наблюдавате в реално време с опцията -f на командата tail:

 tail -f /var/log/syslog

Как Linux върти лог файлове

В директорията /var/log може да забележите файлове с имена, завършващи на “log.N.gz”, където N е число. Това е резултат от системата, която ротира по-стари регистрационни файлове. Повечето дистрибуции имат помощна програма, която ще направи това автоматично, наречена „logrotate“. logrotate обикновено е настроен да работи като cron задание или системен таймер.

По подразбиране повечето дистрибуции ще изпълняват logrotate ежедневно. logrotate компресира по-стари регистрационни файлове с помощта на gzip, както се вижда от файловите разширения „.gz“. Той използва праг, като възраст или размер на файла, за да направи това, и друг праг за евентуално изтриване на стари регистрационни файлове.

Опциите по подразбиране за logrotate са достатъчни за повечето потребители на настолен компютър. Можете да промените поведението на logrorate, като редактирате файла /etc/logrotate.conf като суперпотребител, както и като редактирате cron или systemd таймер файловете на вашата система, но тези операции наистина са приложими само за сървърните администратори.

  Как да активирате Zswap на Linux за по-добра производителност

По-добре е да коригирате това, което запълва вашите регистрационни файлове, отколкото да променяте конфигурационните файлове, за да спестите дисково пространство. Ако абсолютно трябва да промените конфигурацията, можете да прочетете logrotate страница с ръководство.

Кои регистрационни файлове са безопасни за изтриване?

Ако всичко останало се провали и отчаяно искате да освободите място на диска, можете ръчно да изтриете архивираните регистрационни файлове, завършващи на “.gz”, преди logrotate да го направи. Можете да използвате rm, но ще трябва да го стартирате като суперпотребител, тъй като тези файлове принадлежат на системата:

 sudo rm /var/syslog/syslog.*gz 

Тази команда ще изтрие всички файлове, съдържащи „syslog“. и завършва с „gz.“

Винаги бъдете много внимателни, когато изпълнявате команди чрез sudo, особено разрушителни команди като rm!

Обикновено не трябва да изтривате файлове в системни директории, без да разбирате напълно последиците, но архивираните регистрационни файлове няма да причинят никакви проблеми, ако липсват. Ако все пак имате проблем, може да се наложи да се обърнете към по-стари регистрационни файлове.

Как да коригирате това, което запълва вашите регистрационни файлове

Най-добрият начин да разберете какво пълни вашите регистрационни файлове е да следвате регистрационните файлове с опциите journalctl или tail -f. Най-добрият ви залог е да повтаряте съобщения за грешка.

Ще трябва да се справите с обидния процес, за да спестите място на диска. Ако не знаете какво причинява грешката, можете да потърсите в мрежата или да поискате помощ в каналите за поддръжка на вашата дистрибуция. Когато най-накрая го поправите, можете безопасно да изтриете по-старите регистрационни файлове. Сега трябва да имате много повече дисково пространство.