Удалите предупреждение Nextcloud о блокировке файлов с помощью Redis.
Включите надежную блокировку файлов в Nextcloud, выберите подходящий бэкенд Redis или Valkey и убедитесь, что предупреждение исчезает без риска одновременного изменения файлов.
Чтобы автоматически очищать папку «Удаленные» в Nextcloud, установите максимальный срок хранения и убедитесь, что фоновые задачи Nextcloud выполняются по расписанию. Например, настройте trashbin_retention_obligationавтоматическое auto, 30удаление элементов корзины старше 30 дней, а затем запускайте рекомендуемый системный cron Nextcloud каждые пять минут. autoПолитика по умолчанию сама по себе не гарантирует удаление сразу на 30-й день.
Автоматическое удаление является необратимым. Выберите период хранения, который даст пользователям время на восстановление после ошибок, и создавайте резервные копии всего, что должно оставаться восстанавливаемым после удаления из корзины.
В документации администратора Nextcloud 35 описывается autoхранение удаленных элементов в течение как минимум 30 дней, после чего их можно удалить, если требуется место для хранения. Если место не требуется, элементы могут оставаться в хранилище более 30 дней. Такое поведение превращает корзину в зону восстановления, а не в строгий 30-дневный таймер удаления.
| Значение политики | Что это значит | Используйте его, когда |
|---|---|---|
auto | Храните вещи не менее 30 дней; при необходимости освободите место, затем удалите их. | Вам нужен стандартный режим восстановления и очистка пространства. |
auto, 30 | Удаление элементов старше 30 дней происходит автоматически; элементы также могут быть удалены раньше, если требуется освободить место. | Вы хотите установить максимальный возраст в 30 дней. |
30, 90 | Храните файлы не менее 30 дней и удаляйте их через 90 дней. | Вам нужен период восстановления плюс верхняя граница срока удержания. |
disabled | Не очищайте мусорное ведро автоматически. | У вас есть отдельный процесс хранения данных, и вы намерены сохранять удаленные элементы. |
Сохранение данных не является абсолютным, если квота пользователя превышена из-за элементов в корзине: Nextcloud может отменить настроенную политику и очистить элементы до тех пор, пока не будет выполнено требование по квоте. Перед применением политики к учетным записям с ограничениями по квоте ознакомьтесь с текущей документацией по хранению данных в корзине .
Запускайте occNextcloud из каталога установки и от имени пользователя HTTP, чтобы права доступа к файлам оставались согласованными. В Debian или Ubuntu этим пользователем обычно является www-data, а путь установки часто — /var/www/nextcloud. В других системах или в контейнерах замените его на своего фактического пользователя и путь.
cd /var/www/nextcloud
sudo -E -u www-data php occ config:system:set trashbin_retention_obligation --value='auto, 30'

Этот параметр хранится в системной конфигурации Nextcloud. Чтобы проверить активное значение, выполните следующую команду:
sudo -E -u www-data php occ config:system:get trashbin_retention_obligation
В результате должно отобразиться значение auto, 30. Если вы предпочитаете другую политику, используйте приведенную выше таблицу и введите ее значение. Эта 30, 90опция предназначена для хранения элементов в течение как минимум 30 дней и их удаления через 90 дней; контроль квот все еще может привести к более ранней очистке.
Nextcloud запускает проверку удаления файлов в корзину в фоновом режиме. В руководстве администратора указано, что фоновая задача корзины запускается каждые 30 минут, но это всё равно зависит от того, запущен ли в вашей системе механизм выполнения фоновых задач. Nextcloud рекомендует использовать cron операционной системы для регулярных задач; его режим AJAX по умолчанию менее надёжен, поскольку задачи запускаются только тогда, когда пользователи посещают сайт.
Переведите Nextcloud в режим cron:
sudo -E -u www-data php occ background:cron

Затем отредактируйте crontab пользователя веб-сервера. На типичном хосте Debian или Ubuntu:
sudo crontab -u www-data -e
Добавьте эту строку, изменив путь к исполняемому файлу PHP или путь к Nextcloud, если ваша установка использует другие расположения:
*/5 * * * * php -f /var/www/nextcloud/cron.php

Это расписание запускает фоновый процесс Nextcloud каждые пять минут; отдельные задания имеют свои собственные расписания. Для развертывания контейнера используйте описанную службу cron или запланированный рабочий процесс для этого развертывания и запускайте cron.phpот имени веб-пользователя Nextcloud. Не добавляйте второе задание вслепую, если ваш образ или платформа уже его запускают.
Сначала проверьте политику и запланированное задание. Проверьте политику с помощью команды `pip install policy` occ config:system:get trashbin_retention_obligation, затем выведите список запланированных задач:
sudo crontab -u www-data -l

В настройках администрирования Nextcloud убедитесь, что фоновые задания настроены на Cron и что время последнего выполнения задания увеличивается. После истечения заданного максимального срока хранения проверьте раздел «Удаленные файлы» на наличие старого тестового элемента, который можно безопасно удалить. Задание по удалению файлов выполняется по расписанию, поэтому очистка не обязательно происходит мгновенно точно по истечении срока хранения.
Для одноразовой проверки с использованием пользовательской политики хранения выполните команду retention-aware:
sudo -E -u www-data php occ trashbin:expire --quiet
В текущей версии Nextcloud trashbin:expireприменяется настроенный период хранения. При использовании autoполитики по умолчанию команда завершает работу без удаления элементов; автоматическое удаление по умолчанию обрабатывается фоновым заданием. Не следует заменять trashbin:cleanup --all-users: эта команда навсегда удаляет все элементы из корзины для каждого пользователя, независимо от их возраста, и не является стандартной настройкой периода хранения.
occ config:system:get trashbin_retention_obligationсоответствует заданному вами периоду хранения.cron.phpпуть.Если время последнего выполнения не меняется, перед изменением значения периода хранения проверьте системный cron, путь к PHP CLI, пользователя веб-сервера и путь к Nextcloud. Правильно настроенная политика не сможет ничего очистить, если фоновый процесс никогда не запускается.
Включите надежную блокировку файлов в Nextcloud, выберите подходящий бэкенд Redis или Valkey и убедитесь, что предупреждение исчезает без риска одновременного изменения файлов.
Устраните распространенные ошибки сканирования Nextcloud с помощью текущих обновлений, HTTPS и HSTS, точного доверия к обратному прокси-серверу и проверок на общедоступном сервере.
Настройте Nextcloud SSE для необходимого вам хранилища, защитите ключи шифрования и измерьте влияние на передачу данных и загрузку процессора перед шифрованием существующих файлов.
Подключите поиск файлов Nextcloud к Elasticsearch, проиндексируйте содержимое документов и выберите конфигурацию, соответствующую вашим потребностям в отношении сервера и безопасности.
Настройте Nextcloud так, чтобы он удалял удалённые файлы по истечении заданного периода хранения, надёжно планировал фоновые задачи и избегал команд, очищающих корзину каждого пользователя.
Запустите функцию восстановления OCC в Nextcloud в безопасных условиях, просмотрите изменения в базе данных и выясните, почему предупреждение может оставаться.
Разрешите загрузку файлов больших размеров через браузер Nextcloud, согласовав параметры PHP, Nginx или Apache, временного хранилища и тайм-аута, а также проверьте, какое ограничение блокирует файл.
Установите ограничение на объем памяти, фактически используемый Nextcloud для PHP, перезапустите нужную службу и подтвердите значение 512 МБ в разделе «Обзор администратора».
Подключите совместимый сегмент объектного хранилища в Nextcloud, используя его бэкэнд S3, с указанием правильной конечной точки, учетных данных, области доступа и этапов проверки.
Безопасное перемещение каталога данных Linux Nextcloud на внешний диск с использованием постоянного монтирования UUID, режима обслуживания, проверенной копии и символической ссылки на исходный путь.