Чистка системы FreeBSD

Многие наверно покупая недорогие VPS с небольшим дисковым пространством, рано или поздно, сталкиваются с проблемой нехватки места на диске. Попробую описать первые действия, которые позволят высвободить немного места на сервере.

Первым делом ищем в системе, что у нас занимает много места

freebsd# du -h -d 1 /
2,0k /.snap
1,0M /bin
181M /boot
2,5k /dev
1,9M /etc
7,4M /lib
286k /libexec
2,0k /media
2,0k /mnt
2,0k /proc
4,6M /rescue
 64k /root
4,4M /sbin
2,1G /tmp
5,5G /usr
8,8G /var
 16G /

Как видим больше всего у нас занимают: tmpusrvar.

Чистим /tmp

ВНИМАНИЕ !!! При неаккуратной чистке этой папки могут отвалиться текущие рабочие процессы. К примеру: если удалите mysql.sock или php-fpm.sock, то до перезапуска перестанут работать mysql и php-fpm.

Смотрим, что объемного есть в tmp

freebsd# du -h -d 1 /tmp/
2,0k /tmp/.X11-unix
2,0k /tmp/.XIM-unix
2,0k /tmp/.ICE-unix
2,0k /tmp/.font-unix
2,1G /tmp/mc-root
2,1G /tmp/

В каталоге /tmp/mc-root находятся временные файлы midnight commander для пользователя root. Саму папку лучше оставить, а вот её содержимое можно смело удалять. Причем если будете удалять из MC, то большая вероятность, что он перестанет работать до следущего перезапуска.

Удаляем для пользователя от которого работаем:

rm -Rf /tmp/mc-`whoami`

Удаляем временные файлы всех пользователей

rm -Rf /tmp/mc-*

Подводя итог, советую автоматически чистить  tmp при каждой загрузки системы.

Редактируем файл rc.conf

vi /etc/rc.conf

и добавляем в конце строку

clear_tmp_enable="YES"

Кроме папки /tmp, этой опцией мы также будем чистить /var/tmp 

Чистим /usr

Смотрим что у нас занимает много места в /usr

freebsd# du -h -d 1 /usr/
 64M /usr/bin
2,0k /usr/games
 18M /usr/include
 48M /usr/lib
6,0k /usr/lib32
118k /usr/libdata
 13M /usr/libexec
4,5G /usr/local
2,0k /usr/obj
 27M /usr/sbin
 39M /usr/share
2,0k /usr/src
635M /usr/ports
5,4G /usr/

/usr/local занимает 4,5G, смотрим что в ней

freebsd# du -h -d 1 /usr/local/
 60M /usr/local/bin
1,2M /usr/local/etc
 21M /usr/local/include
4,6M /usr/local/info
200M /usr/local/lib
166k /usr/local/libdata
7,5M /usr/local/libexec
 9M /usr/local/man
3,9M /usr/local/sbin
 60M /usr/local/share
4,2G /usr/local/www
4,5G /usr/local/

/usr/local/www — директория сайтов, отдельная песня и чистить её будем в другой раз )

Многие при установки пакетов из портов забываю выполнять clean. Все проблемы решит distclean — очистить все созданные при компиляции файлы и все вспомогательные файлы созданные утилитой ./configure.

cd /usr/ports; make distclean

Советую набраться терпения, так как процесс долгий !

Чистим /var

Той же командой находим большие по объёму папки

du -h -d 1 /var/

Получаем, что самые объемные:

/var/db/mysql — тут хранятся базы сайтов, поэтому советую быть очень аккуратным. Как видим больше всего занимают бинарные лог файлы для организации репликации СУБД.

Чтобы отключить опцию по созданию файлов, необходимо в конфиге /var/db/mysql/my.cnf закоментировать параметр log-bin=mysql-bin 

Чтобы удалить уже созданные файлы:

rm -R /var/db/mysql/mysql-bin.*

/var/log — различные файлы системных журналов, их собственно и будем чистить.

Удаляем сротированные логи различных сервисов

rm -R /var/log/*.bz2

В /var/log удалять файлы крайне не рекомендую! Так как syslog файлы создавать не умеет и может только писать в них. Поэтому если вы не уверены лучше обнулите лог-файл:

cp /dev/null имя.log

или

echo > имя.log

Например, для удаления почты пользователя root:

cp /dev/null /var/mail/root

В FreeBSD также есть newsyslog, который отвечает за ротацию логов. Но это уже отдельная тема следующего поста.

Share

You may also like...

2 комментария

  1. ttys:

    дабы не срало почтой руту мона в /etc/aliases добавить
    root:    /dev/null 
     
    либо того на кого надо слать мыло 😉
    du -h -d 1 /var/* аналог  du -shc /var/*
    на линухах нету флага -d но -shc работает везде  😉

  2. Отличная статья, спасибо автору :-).
    Все никак руки не доходили привести в порядок всё :-).

Добавить комментарий для ttys Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *