Директория Data весит 682G, но Nextcloud говорит, что занимает всего 104.7GB

Здравствйте. В веб-интерфейсе администратора NextCloud указано, что используется 104.7GB, но если в консоли сервера просчитать занимаемое место папки DATA то, весит она 682G. При этом “корзина” очищена. Похоже, что у меня 550G лишних файлов. Как это можно проверить и очистить?
Серверу уже 3 года, заметил такое поведение после обновлений с 15 весрии до 19

Nextcloud 19.0.3
Ubuntu 16.04.3 LTS
Apache/2.4.18 (Ubuntu)
php 7.3

hi @Danil sorry have no Russian keyboard here. take a look at this port describing similar issue:

additionally file versions could be the reason - multiple copies of the file are kept for some time…

Там есть папки с версиями, могут весить много и не докачанные файлы тоже могли не удалиться. Попробуйте найти топ 20 огромных папок и посмотреть что там:

du -sh /var/www/nextcloud/data/* | sort -h | head -n 20

Попробуйте пересканировать всю ФС (займет пориличное время):

sudo -u www-data php /var/www/nextcloud/occ files:scan --all

Потом почистить от “остатков”, если найдены:

sudo -u www-data php /var/www/nextcloud/occ files:cleanup
1 Like

files:scan --all и files:cleanup не выдали ничего интересного:
0 orphaned file cache entries deleted

Проверил data на содержимое. В директориях пользователей есть непонятные для меня директории. В files - хранятся файлы, это понятно. files_trasbin - хранятся удалённые файлы, а в files_versions - версии файлов. Однако и в files_trasbin директория versions тоже есть. Видимо там удалённые версии?

В мануале прочитал о хранении версий. В config.php указал параметр
'versions_retention_obligation' => 'auto, 30',
надеюсь теперь версии файлов будут удалятся своевременно :slight_smile:

У меня на сервере несколько пользователей, и корзину я проверял только администратора. Оказалось, что корзины заполнены у пользователей.

Есть ли возможность администратору авторизоваться от имени другого пользователя?
Это не нужно, очистить корзины пользователей можно через occ, вот так очистить корзины всех пользователей:
sudo -u www-data php occ trashbin:cleanup --all-users

Возможно ли через веб интерфейс удалять старые версии файлов?
Так же делается через occ, например удалить все версии файлов всех пользователей делается так:
sudo -u www-data php occ versions:cleanup

Решение свой проблемы я нашёл, спасибо за ответы!

1 Like

В принцепе не нужно чистить версии и корзины пользователей руками, они сами отчистятся согласно настройкам, например:

'trashbin_retention_obligation' => 'auto, 30',
'versions_retention_obligation' => 'auto, 30',

–> https://docs.nextcloud.com/server/19/admin_manual/configuration_server/config_sample_php_parameters.html?highlight=versions_retention_obligation#deleted-items-trash-bin

Кода файл удаляется все его версии передвигаются вместе с ним в корзину. Тогда можно восстановить файл и все ещё иметь его версии, как будто ничего и не было :grinning:

2 Likes

Проверьте логи у меня после обновления за 3 месяца логи выросли на 500+ гб

Проверьте конфиги:

'log_rotate_size' => 100 * 1024 * 1024,

https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html?highlight=rotation#logging