Files
nextcloud-documentation/admin_manual/configuration_files/file_versioning.rst
Louis Chemineau ae5acaf979 Add note about named versions for admins
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-03-05 11:14:21 +01:00

57 lines
2.2 KiB
ReStructuredText

===================================
Controlling file versions and aging
===================================
The Versions app (files_versions) expires old file versions automatically to
ensure that users don't exceed their storage quotas. This is the default
pattern used to delete old versions:
* For the first second we keep one version
* For the first 10 seconds Nextcloud keeps one version every 2 seconds
* For the first minute Nextcloud keeps one version every 10 seconds
* For the first hour Nextcloud keeps one version every minute
* For the first 24 hours Nextcloud keeps one version every hour
* For the first 30 days Nextcloud keeps one version every day
* After the first 30 days Nextcloud keeps one version every week
The versions are adjusted along this pattern every time a new version is
created.
The Versions app never uses more than 50% of the user's currently available
free space. If the stored versions exceed this limit, Nextcloud deletes the
oldest file versions until it meets the disk space limit again.
.. note:: Versions named by a user will never be deleted.
You may alter the default pattern in ``config.php``. The default setting is
``auto``, which sets the default pattern::
'versions_retention_obligation' => 'auto',
Additional options are:
* ``D, auto``
Keep versions at least for D days, apply expiration rules to all versions
that are older than D days
* ``auto, D``
Delete all versions that are older than D days automatically, delete other
versions according to expiration rules
* ``D1, D2``
Keep versions for at least D1 days and delete when they exceed D2 days.
* ``disabled``
Disable the Versions app; no old file versions will be deleted.
Background job
--------------
To delete expired versions a background jobs runs every 30 minutes.
It's possible to deactivate the background job and setup a (system) cron to expire the versions via occ.
Deactivate background job: ``occ config:app:set --value=no files_versions background_job_expire_versions``
Activate background job: ``occ config:app:delete files_versions background_job_expire_versions``
Expire versions: ``occ versions:expire`` or ``occ versions:expire --quiet`` (without the progress bar)