File timestamp preservation with object storage

Object storage platforms do not have native support for preserving the modification, access, or creation times of files that are transferred into object storage from traditional file systems. You can configure your Aspera® server and client to preserve the original timestamps on the files and folders when they are transferred in and out of object storage. Time stamps are preserved as metadata associated with the uploaded object, and can be retrieved upon download.

Procedure

  1. Log in to your Aspera server as root
    # ssh -i identity_file -p 33001 ec2-user@ec2_host_ip
    # su -
  2. Configure the server to preserve file attributes.
    Run the following commands:
    # asconfigurator -x "set_node_data;preserve_attributes,times"
    # asconfigurator -x "set_node_data;preserve_attributes_pvcl_read,enable"
    # asconfigurator -x "set_node_data;preserve_attributes_pvcl_write,enable"

    These commands add the following text to /opt/aspera/etc/aspera.conf:

     <default>
       <file_system>
         ...
         <preserve_attributes_pvcl_read>enable</preserve_attributes_pvcl_read>
         <preserve_attributes_pvcl_write>enable</preserve_attributes_pvcl_write>
         <preserve_attributes>times</preserve_attributes>
       </file_system>
     </default>
  3. Configure the client to preserve file attributes.
    Set the preserve file attributes in the GUI or by using ascp command line options.

    GUI: Click Connections. Select the connection that you want to modify then click File Handling. Select Preserve access time and Preserve modification time, as required. You can also select Preserve source access time. This option restores the access time on the source to the last access time before the transfer, which is considered an access. Click OK to apply these settings to all transfers with this connection.


    ""

    Command line: ascp has four options for timestamp preservation that can be used individually or in combination:

    ascp Option Action
    -p Preserve all timestamps from the source. Equivalent to setting --preserve-modification-time and --preserve-access-time.
    --preserve-modification-time Preserve the time that the object was last modified (write) on the source.
    --preserve-access-time Preserve the time that the file was last accessed (read or write) on the source. This restores the access time of the cloud object to the last access of the file before the transfer, which the source considers an access. Use with --preserve-source-access-time to have the access times of the cloud object and the source file match.
    --preserve-source-access-time Restore the access time of the source file to the last access before the transfer, which the source considers an access.