Экспресс очистка сервера с целью освобождения дискового пространства

Опасно разводить беспорядок на сервере, потому будучи брошенным на произвол судьбы он рано или поздно съест всё свободное место на диске. Сервер с отсутствующим свободным местом может вас даже по ssh в гости не пустить. В этом я недавно убедился. А потому предлагаю краткий набор рекомендаций для тех, кто как и я, бросает серверы без присмотра на длительные сроки, а потом удивляется: «Это что ж с ним случилось?».

Во-первых, если ваш сервер боевой (т.е. там висят какие-то сайты или какая-то почта или сервер выполняет регулярно ещё какую-то полезную работу), то настройте ротацию логов (пример для логов веб-сервера, но таким же способом можно ротировать любые логи). Логи — верный способ убить пространство на сервере с маленьким диском.

Во-вторых, удалите кеш пакетов (особенно, если вы постоянно чего-то ставите, удаляете, снова устанавливаете — это уже скорее для тестового сервера проблема). Поможет простая команда:
sudo apt-get clean

В-третьих, посмотрите как обстоят дела с локальной почтой:
sudo ls -al /var/mail

Я, например, поймал несколько сотен лишних мегабайт в виде сообщений в ящик root`а о разных отработавших задачах планировщика. В зависимости от вашего почтового сервиса, почта может копиться и в домашних каталогах пользователей. Пошарьте и там.

И, наконец, в-четвёртых, пошарьте руками по серверу с целью выявления самых тяжелых директорий. Начните так:
sudo du -sm /* | sort -nr

Получите отсортированный список, где в первом столбце будет размер в мегабайтах. Например, если окажется, что больше всех весит /var, то посмотрите, кто это там такой тяжелый:
sudo du -sm /var/* | sort -nr

И так далее. Главное, лишнего не удаляйте. Вообще, рекомендую перед любой чисткой всё или хотя бы то, что собрались удалять — бэкапить.

И ещё маленький хинт для тех, кто пока только начинает покорение Ubuntu и Linux`а. Если вам надо быстро очистить файл, не удаляя его (а, например, этот приём годен для очистки любых логов), то выручит такая команда:
sudo echo "" > /var/logauth.log

Вместо старого содержания в файл /var/logauth.log будет записана одна пустая строка (т.е. файл станет пустым абсолютно).

Как верно подсказали в комментариях, полностью очищать файл, делая его девстенно пустым, надо так:
sudo su
> /var/logauth.log

Или вот так:
sudo echo -n > /var/logauth.log

А если воспользоваться вариантом, который сначала предложил я (sudo echo "" > /var/logauth.log), то одна пустая строка (и один байт данных для соответствующего спецсимвола) в файле всё-таки будет.

Re: Экспресс очистка сервера с целью освобождения дискового ...

Ну привет.
Файл очищается так:
:> file

Если добавить пустую строку в exim/panic.log то тогда экзим может и не запуститься.

Re: Экспресс очистка сервера с целью освобождения дискового ...

Дело говорите.

Вот эксперимент, наглядно иллюстрирующий, что неправда моя:

root:~# touch testfile
root:~# ls -al testfile
-rw-r--r-- 1 root root 0 2010-09-18 22:37 testfile
root:~# echo "blah-blah-blah" > testfile
root:~# ls -al testfile
-rw-r--r-- 1 root root 15 2010-09-18 22:38 testfile
root:~# echo "" > testfile
root:~# ls -al testfile
-rw-r--r-- 1 root root 1 2010-09-18 22:38 testfile
root:~# > testfile
root:~# ls -al testfile
-rw-r--r-- 1 root root 0 2010-09-18 22:38 testfile

Но в посте я, получается, правильно написал, что именно пустую строку он туда запишет. А файл с пустой строкой != пустой файл. Спасибо.

Re: Экспресс очистка сервера с целью освобождения дискового ...

входа в игры на одноклассниках

Re: Экспресс очистка сервера с целью освобождения дискового ...

очистка сервера

Re: Экспресс очистка сервера с целью освобождения дискового ...

Экспресс очистка сервера с целью освобождения дискового пространства

Отправить комментарий

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

RSS-материал