mc ilm restore


The mc ilm restore command creates a temporary copy of an object archived on a remote tier. The copy automatically expires after 1 day by default.

Use this command to allow applications to access a tiered object through the MinIO deployment (e.g. “hot tier”). The archived object remains on the remote tier, while the temporary copy becomes HEAD for that object.

New in version mc: RELEASE.2023-04-12T02-21-51Z

Use mc stat to display whether a restored object reads from the local temporary copy or the remote tier. Objects currently in the process of restoration from the remote tier show a status of Ongoing : true.

The following command restores a copy of a transitioned object from the remote tier back to the myminio MinIO deployment:

mc ilm restore myminio/mybucket/object.txt

The command has the following syntax:

mc [GLOBALFLAGS] ilm restore      \
                 [--days "int" ]  \
                 [--recursive]    \
                 [--vid "string"] \
                 [--versions]     \
                 [--encrypt-key]  \
  • Brackets [] indicate optional parameters.

  • Parameters sharing a line are mutually dependent.

  • Parameters separated using the pipe | operator are mutually exclusive.

Copy the example to a text editor and modify as-needed before running the command in the terminal/shell.



The MinIO alias, bucket, and path to the archived object to restore.

mc ilm restore myminio/mybucket/object.txt

The number of days after which MinIO expires the restored copy of the archived object.

--recursive, r

Restores all objects under the specified prefix.


Restores all versions of the object on the remote tier.

--version-id, vid

Restores the specified version of the object on the remote tier.


New in version RELEASE.2023-01-28T20-29-38Z.

Encrypt or decrypt objects using server-side encryption with client-specified keys. Specify key-value pairs as KEY=VALUE.

  • Each KEY represents a bucket or object.

  • Each VALUE represents the data key to use for encrypting object(s).

Enclose the entire list of key-value pairs passed to --encrypt-key in double quotes ".

Global Flags

This command supports any of the global flags.


Restore an Archived Object

The following command restores an object archived to a remote tier:

mc ilm restore myminio/mybucket/object.txt

Restore a Specific Archived Object Version

The following command restore a specific object version archived to a remote tier:

mc ilm restore --vid "VERSIONID" myminio/mybucket/object.txt

Restore All Archived Objects at a Bucket Prefix

The following command restores all objects archived under a specified prefix on the remote tier:

mc ilm restore --recursive myminio/mybucket/data/


Restored Objects Expire Automatically

MinIO automatically expires the restored object copy after the specified number of days (Default: 1 day).

Restored Objects Become HEAD

The restored object copy becomes HEAD for that object namespace regardless of it’s versioning history. This can result in applications returning “stale” data while the local copy exists.

S3 Compatibility

The mc commandline tool is built for compatibility with the AWS S3 API and is tested with MinIO and AWS S3 for expected functionality and behavior.

MinIO provides no guarantees for other S3-compatible services, as their S3 API implementation is unknown and therefore unsupported. While mc commands may work as documented, any such usage is at your own risk.