Настройте надежную политику истечения срока действия для удаленных файлов в Nextcloud.

Чтобы автоматически очищать папку «Удаленные» в Nextcloud, установите максимальный срок хранения и убедитесь, что фоновые задачи Nextcloud выполняются по расписанию. Например, настройте trashbin_retention_obligationавтоматическое auto, 30удаление элементов корзины старше 30 дней, а затем запускайте рекомендуемый системный cron Nextcloud каждые пять минут. autoПолитика по умолчанию сама по себе не гарантирует удаление сразу на 30-й день.

Автоматическое удаление является необратимым. Выберите период хранения, который даст пользователям время на восстановление после ошибок, и создавайте резервные копии всего, что должно оставаться восстанавливаемым после удаления из корзины.

Что Nextcloud удаляет по умолчанию?

В документации администратора 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'
Команда терминала устанавливает параметр trashbin_retention_obligation в значение auto, равное 30, при этом в выводе подтверждается значение конфигурации системы.
Установите максимальный срок хранения данных в 30 дней, используя значение параметра политики учета срока хранения данных: 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
В терминале выполняется команда occ background:cron, и отображается сообщение о том, что фоновые задания переведены в режим cron.
Переключите Nextcloud в режим cron, чтобы запланированные фоновые задачи не зависели от того, открывают ли пользователи сайт.

Затем отредактируйте crontab пользователя веб-сервера. На типичном хосте Debian или Ubuntu:

sudo crontab -u www-data -e

Добавьте эту строку, изменив путь к исполняемому файлу PHP или путь к Nextcloud, если ваша установка использует другие расположения:

*/5 * * * * php -f /var/www/nextcloud/cron.php
В редакторе crontab, предназначенном для конкретного пользователя, содержится строка, которая запускает файл /var/www/nextcloud/cron.php каждые пять минут.
Запустите cron.php от имени пользователя HTTP. Замените пример пути к Nextcloud на путь к вашей установке.

Это расписание запускает фоновый процесс Nextcloud каждые пять минут; отдельные задания имеют свои собственные расписания. Для развертывания контейнера используйте описанную службу cron или запланированный рабочий процесс для этого развертывания и запускайте cron.phpот имени веб-пользователя Nextcloud. Не добавляйте второе задание вслепую, если ваш образ или платформа уже его запускают.

Как безопасно проверить срок годности?

Сначала проверьте политику и запланированное задание. Проверьте политику с помощью команды `pip install policy` occ config:system:get trashbin_retention_obligation, затем выведите список запланированных задач:

sudo crontab -u www-data -l
В терминале отображается активный авторежим, значение времени хранения 30 и пятиминутная запись cron для cron.php.
Проверьте сохраненное значение времени хранения и убедитесь, что у пользователя веб-сервера есть запись о повторяющихся событиях в файле cron.php.

В настройках администрирования 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соответствует заданному вами периоду хранения.
  • Фоновые задачи Nextcloud настроены на использование Cron, а в файле crontab пользователя веб-сервера указан правильный cron.phpпуть.
  • Время выполнения последнего задания переносится в административные настройки.
  • Старый тестовый элемент, срок действия которого истек, исчезает после выполнения фоновой задачи, в то время как более новые элементы остаются, если только не требуется очистка из-за нехватки места или превышения квоты.

Если время последнего выполнения не меняется, перед изменением значения периода хранения проверьте системный cron, путь к PHP CLI, пользователя веб-сервера и путь к Nextcloud. Правильно настроенная политика не сможет ничего очистить, если фоновый процесс никогда не запускается.

Официальная документация

Оставить комментарий

Удалите предупреждение Nextcloud о блокировке файлов с помощью Redis.

Включите надежную блокировку файлов в Nextcloud, выберите подходящий бэкенд Redis или Valkey и убедитесь, что предупреждение исчезает без риска одновременного изменения файлов.

Что нужно, чтобы получить рейтинг безопасности Nextcloud A+

Что нужно, чтобы получить рейтинг безопасности Nextcloud A+

Устраните распространенные ошибки сканирования Nextcloud с помощью текущих обновлений, HTTPS и HSTS, точного доверия к обратному прокси-серверу и проверок на общедоступном сервере.

Внедрите серверное шифрование Nextcloud с измеримым эффектом.

Настройте Nextcloud SSE для необходимого вам хранилища, защитите ключи шифрования и измерьте влияние на передачу данных и загрузку процессора перед шифрованием существующих файлов.

Добавьте полнотекстовый поиск Elasticsearch в Nextcloud.

Подключите поиск файлов Nextcloud к Elasticsearch, проиндексируйте содержимое документов и выберите конфигурацию, соответствующую вашим потребностям в отношении сервера и безопасности.

Настройте надежную политику истечения срока действия для удаленных файлов в Nextcloud.

Настройте надежную политику истечения срока действия для удаленных файлов в Nextcloud.

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

Удалите предупреждение Nextcloud об отсутствии индексов в базе данных.

Удалите предупреждение Nextcloud об отсутствии индексов в базе данных.

Запустите функцию восстановления OCC в Nextcloud в безопасных условиях, просмотрите изменения в базе данных и выясните, почему предупреждение может оставаться.

Увеличьте лимит загрузки веб-страниц в Nextcloud до более чем 2 ГБ.

Увеличьте лимит загрузки веб-страниц в Nextcloud до более чем 2 ГБ.

Разрешите загрузку файлов больших размеров через браузер Nextcloud, согласовав параметры PHP, Nginx или Apache, временного хранилища и тайм-аута, а также проверьте, какое ограничение блокирует файл.

Устранить предупреждение Nextcloud о нехватке памяти PHP на веб-сервере.

Установите ограничение на объем памяти, фактически используемый Nextcloud для PHP, перезапустите нужную службу и подтвердите значение 512 МБ в разделе «Обзор администратора».

Подключите совместимое с S3 хранилище к внешнему хранилищу Nextcloud.

Подключите совместимый сегмент объектного хранилища в Nextcloud, используя его бэкэнд S3, с указанием правильной конечной точки, учетных данных, области доступа и этапов проверки.

Переместите данные Nextcloud на внешний диск, не повреждая хранилище.

Переместите данные Nextcloud на внешний диск, не повреждая хранилище.

Безопасное перемещение каталога данных Linux Nextcloud на внешний диск с использованием постоянного монтирования UUID, режима обслуживания, проверенной копии и символической ссылки на исходный путь.