Диагностика по SSH
Если вы хотите узнать сколько места у вас занято на дисках и чем конкретно оно занято вам нужно подключиться к серверу по SSH
И использовать команды df и du с различными ключами. Например:
Команда df
Узнать сколько занято и сколько всего у нас места: [root@hostname ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda3 1.1T 290G 752G 28% /
Size - общий размер диска,
Used - используется места,
Avail - доступное место на диске.
В нашем примере, занято 290 Гб, свободно 752Гб.
Команда du
Узнать какая директория занимает больше всего места:
[root@host ~]# du -hs /* 32K /aquota.group 20K /aquota.user 7.5M /bin 74M /boot 188K /dev 50M /etc 4.0K /home 358M /lib 23M /lib64 16K /lost+found 4.0K /media 4.0K /mnt 561M /opt 0 /proc 48G /root 15M /sbin 4.0K /selinux 4.0K /srv 0 /sys 352M /tmp 172M /user2153294 15G /usr 265G /var
После того как нашли директорию которая занимает много и вы не знаете что в ней занимает место, можно выполнить эту же команду, но указав в качестве параметры нужную директорию
[root@host ~]# du -hs /usr/* 66M /usr/bin 4.0K /usr/etc 4.0K /usr/games 25M /usr/include 321M /usr/lib 162M /usr/lib64 40M /usr/libexec 3.2G /usr/local 28M /usr/sbin 11G /usr/share 12K /usr/src 0 /usr/tmp
Так же можно комбинировать данную команду с другими, например grep, для того чтобы выводились только директории занимающие более гигабайта (G в колонке размера)
[root@host ~]# du -hs /usr/* | grep G 3.2G /usr/local 11G /usr/share
Команда repquota
Repquota отобразит квоту пользователей, текущее состояние и ее лимит. ISPmanager считает квоту по группе пользователей, поэтому команда будет выглядеть так:
[root@host ~]# repquota -g / | grep user21 user211 -- 254948 0 5242880 1756 0 0 user212 -- 2622280 0 5242880 37930 0 0 user213 -- 668776 0 5242880 35090 0 0 user214 -- 43860 0 5242880 2507 0 0 user215 -- 75788 0 5242880 8950 0 0 user216 -- 24864532 0 78643200 267 0 0 user217 -- 297576 0 5242880 1820 0 0 user218 -- 129208 0 5242880 11305 0 0 user219 -- 411052 0 5242880 15262 0 0
Диагностика в ISPmanager 5
Раздел Пользователи
В этом разделе отображается размер дискового пространства в мебибайтах, которое занимают файлы пользователя (занято/доступно).
В панели управления не отображается занятое дисковое пространство.
В логе панели ошибка:
Dec 5 16:09:02 [3228:38] proc EXTINFO Run '/bin/sh -c quotasync\ -g\ /' pid 3658 Dec 5 16:09:02 [3228:38] proc EXTINFO Process 3658 finished with status 1
Такое поведение характерно для файловой системы reiserfs (вирутализация OpenVZ).
Для решения проблемы достаточно добавить в файл конфигурации ispmgr.conf (или ispmgrnode.conf если речь о ISPmanager Business) опцию DisableQuotasync.
Option DisableQuotasync - если указана данная опция, панель не будет вызывать команду quotasync перед получением информации о системных квотах.
После добавления опции в конфиг необходимо перезапустить панель командой killall core
Значение занятого дискового пространства в ISPmanager отличается от того, что показывает команда du
- Например, в панели управления в разделе "Пользователи" отображается информация по занятому дисковому пространству: 880/1000 MB
Но du -sh на директорию пользователя показывает 1,6 GB
Это означает, что в директории пользователя есть файлы, группа которых не соответствует группе пользователя.
Найти такие файлы поможет команда
find /var/www/user/ -not -group user
- Если же команда du , наоборот, показывает меньшее значение, чем в панели, то значит за пределами домашней директории есть файлы, принадлежащие группе пользователя.
Найти такие файлы можно с помощью команды
find / -path /var/www/user/ -group user
Раздел Ограничения (ISPmanager Business)
В данном модуле представлена информация об использовании ресурсов пользователем панели управления, включая количество web-доменов, доменных имен, баз данных и т.п. Кроме того, вы можете просмотреть более подробную информацию о некоторых ресурсах, и, в зависимости от выбранного параметра, выполнить дополнительные действия над ним.
Частые проблемы
Файлы сессий
Обычно их занимают файлы сессий. Они сохраняются в директориях пользователей mod-tmp
В линуксах /var/www/user_name/data/mod-tmp
чтобы удалить файлы из папок необходимо перейти в эту директорию командой
# cd /www/user_name/data/mod-tmp
где user_name это имя вашего пользователя. И выполняете команду
# find . -type f -name 'sess_*' -delete
Логи
Так же много места могут занимать файлы логов. Расположены они обычно в директории
/var/log
/var/www/httpd-logs
Смотрим размер логов
[root@ashamans www]# du -hs /var/www/httpd-logs/*
4,0K /var/www/httpd-logs/ashamans.ru.access.log
4,0K /var/www/httpd-logs/ashamans.ru.error.log
[root@ashamans www]#
находим большие и можем обнулить их
# :> /var/www/httpd-logs/ashamans.ru.error.log
Полезные скрипты
Уведомление о заканчивающемся свободном месте (PHP)
Создайте файл с содержимым:
<?php $bash_run = "df -m | grep \"/dev/vdisk\" | awk '{print $4}'"; $freespace = exec($bash_run); $srv_ip=$_SERVER['SERVER_ADDR']; // ip- адрес проверяемого сервера if ($freespace < 5000) // 5 Gb { mail( "mail@mail.ru", "!!! FreeSpase on the Server $srv_ip !!! // chech_disk_space_to_email.php ", "Warning!!! On the Server $srv_ip Freespace = $freespace Mb" ); }
Добавьте выполнение данного скрипта в cron:
# crontab -e 0 */2 * * * php /путь/до/скрипта
0 Comments
Recommended Comments
There are no comments to display.