3.7 KiB
Automatic Object Expiration
minio
Table of Contents
Each procedure on this page creates a new object lifecycle management rule that expires objects on a MinIO bucket. This procedure supports use cases like removing "old" objects after a certain time period or calendar date.
Requirements
Install and Configure
mc
This procedure uses mc
for performing operations on the MinIO cluster.
Install mc
on a machine
with network access to both source and destination clusters. See the
mc
Installation Quickstart <mc-install>
for
instructions on downloading and installing mc
.
Use the mc alias
command to create an alias for the source MinIO cluster and the
destination S3-compatible service. Alias creation requires specifying an
access key for a user on the source and destination clusters. The
specified users must have permissions
<minio-lifecycle-management-create-expiry-rule-permissions>
for configuring and applying expiry operations.
Required Permissions
MinIO requires the following permissions scoped to the bucket or buckets for which you are creating lifecycle management rules.
s3:PutLifecycleConfiguration
s3:GetLifecycleConfiguration
MinIO also requires the following administrative permissions on the cluster in which you are creating remote tiers for object transition lifecycle management rules:
admin:SetTier
admin:ListTier
For example, the following policy provides permission for configuring object transition lifecycle management rules on any bucket in the cluster:.
/extra/examples/LifecycleManagementAdmin.json
Expire Objects after Number of Days
Use mc ilm add
with ~mc ilm add --expiry-days
to expire bucket contents
a number of days after object creation:
mc ilm add ALIAS/PATH --expiry-days "DAYS"
- Replace
ALIAS <mc ilm add ALIAS>
with thealias <mc alias>
of the S3-compatible host. - Replace
PATH <mc ilm add ALIAS>
with the path to the bucket on the S3-compatible host. - Replace
DAYS <mc ilm add --expiry-days>
with the number of days after which to expire the object. For example, specify30
to expire the object 30 days after creation.
Expire Versioned Objects
Use mc ilm add
to
expiring noncurrent object versions and object delete markers:
- To expire noncurrent object versions after a specific duration in
days, include
~mc ilm add --noncurrentversion-expiration-days
. - To expire delete markers for objects with no remaining versions,
include
~mc ilm add --expired-object-delete-marker
.
mc ilm add ALIAS/PATH \
--noncurrentversion-expiration-days NONCURRENT_DAYS \
--expired-object-delete-marker
- Replace
ALIAS <mc ilm add ALIAS>
with thealias <mc alias>
of the S3-compatible host. - Replace
PATH <mc ilm add ALIAS>
with the path to the bucket on the S3-compatible host. - Replace
NONCURRENT_DAYS <mc ilm add --noncurrentversion-expiration-days>
with the number of days after which to expire noncurrent object versions. For example, specify30d
to expire a version after it has been noncurrent for at least 30 days.