Ручная очистка диска¶
Каким бы большим не был жёсткий диск, место на нём конечно, и если заранее не принять мер, рано или поздно оно закончится. Самое страшное, что может произойти после этого - это невозможность работы системы или потеря самых старых данных сохранённых в системе.
Примечание
Для предотвращения данной ситуации заранее планируйте необходимый объем жёсткого диска, исходя из количества клиентских машин, того, что конкретно на них собирается и сроков хранения данных.
В административной панели можно выставить настройки автоочистки.
Также можно провести очистку диска вручную. Для этого:
Остановите сервер staffcop командой:
sudo service staffcop stop
Проверьте доступное место на диске:
df -h
Удалите записи в логах
sudo rm /var/log/*gz
Удалите старые базы Staffcop:
4.1 Откройте файл скрипта compact, являющегося частью Staffcop:
sudo nano /usr/share/staffcop/bin/compact4.2 В открывшемся файле раскомментируйте строки echo «Vacuum database» и sudo -u postgres psql staffcop -c «vacuum full». Итоговый файл будет иметь следующий вид:
#!/bin/bash # USE compact # HELP Cleanup unreffered dimensions and vaccum database staffcop stop echo "Cleanup dimensions" cat sql/cleanup_dimensions.sql| bin/sql echo "Vacuum database" sudo -u postgres psql staffcop -c "vacuum full" staffcop start echo "Cleanup done" bin/info4.3 Сохраните изменения.
4.4 Очистите старые записи в базе:
sudo staffcop cleanup Xздесь Х - это число дней, данные за которые нужно оставить.
4.5 Запустите скрипт:
staffcop compact
Примечание
Оптимальным запасом для обеспечения производительной работы механизма очистки базы будет наличие свободного места на диске (15% от размера текущей базы).
В случае, если диск забит «под завязку», возможны проблемы с удалением. В этом случае есть обходной способ, позволяющий очистить диск.
sudo tune2fs -m 0 /dev/sdX
Эта команда позволяет освободить зарезервированную для системных нужд часть диска. После этого нужно выполнить описанную выше последовательность действий по очистке. Далее нужно вернуть суперпользователю его резерв дискового пространства. Для этого следует выполнить следующую команду:
sudo tune2fs -m 5 /dev/sdX
Если эта команда не будет выполнена, то при неправильных настройках есть вероятность занятия всего жёсткого диска, включая 5% суперпользователя.
Примечание
Обязательно возвращайте 5% резерв, 5% резерва это общепринятая стандартная практика.
После очистки диска нужно вновь запустить staffcop командой
sudo service staffcop start