Экспресс очистка сервера с целью освобождения дискового пространства
Опасно разводить беспорядок на сервере, потому будучи брошенным на произвол судьбы он рано или поздно съест всё свободное место на диске. Сервер с отсутствующим свободным местом может вас даже по 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
), то одна пустая строка (и один байт данных для соответствующего спецсимвола) в файле всё-таки будет.
- 2931 просмотр

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: Экспресс очистка сервера с целью освобождения дискового ...
Экспресс очистка сервера с целью освобождения дискового пространства
Отправить комментарий