Domanda

Esistono soluzioni esistenti per eliminare file più vecchi di X giorni?

È stato utile?

Soluzione

Amazon ha introdotto Scadenza dell'oggetto recentemente.

Amazon S3 annuncia la scadenza degli oggetti

Amazon S3 ha annunciato una nuova funzionalità, la scadenza degli oggetti che consente di programmare la cancellazione dei tuoi oggetti dopo un periodo di tempo predefinito. L'uso della scadenza degli oggetti per pianificare la rimozione periodica degli oggetti elimina la necessità di identificare gli oggetti per la cancellazione e inviare richieste di eliminazione ad Amazon S3.

È possibile definire le regole di scadenza degli oggetti per una serie di oggetti nel secchio. Ogni regola di scadenza dell'oggetto consente di specificare un prefisso e un periodo di scadenza tra i giorni. Il campo prefisso (ad es. logs/) Identifica gli oggetti soggetti alla regola di scadenza e il periodo di scadenza specifica il numero di giorni dalla data di creazione (cioè età) dopo i quali gli oggetti devono essere rimossi. Una volta che gli oggetti hanno superato la data di scadenza, saranno in coda per la cancellazione. Non ti verrà fatturato l'archiviazione per oggetti alla o dopo la data di scadenza.

Altri suggerimenti

Ecco alcune informazioni su come farlo ...

http://docs.amazonwebservices.com/amazons3/latest/dev/objectexpiration.html

Spero che sia di aiuto.

Puoi utilizzare le regole del ciclo di vita AWS S3 per scadere i file ed eliminarli. Tutto quello che devi fare è selezionare il secchio, fare clic sul pulsante "Aggiungi regole di vita" e configuralo e AWS si prenderà cura di loro per te.

Puoi fare riferimento al post sul blog di seguito da Joe per le istruzioni passo passo. In realtà è abbastanza semplice:

https://www.joe0.com/2017/05/24/amazon-bo-how-to-delete-files older-than-x-days/

Spero che sia d'aiuto!

È possibile utilizzare il seguente script PowerShell per eliminare l'oggetto scaduto dopo x days.

[CmdletBinding()]
Param(  
  [Parameter(Mandatory=$True)]
  [string]$BUCKET_NAME,             #Name of the Bucket

  [Parameter(Mandatory=$True)]
  [string]$OBJ_PATH,                #Key prefix of s3 object (directory path)

  [Parameter(Mandatory=$True)]
  [string]$EXPIRY_DAYS             #Number of days to expire
)

$CURRENT_DATE = Get-Date
$OBJECTS = Get-S3Object $BUCKET_NAME -KeyPrefix $OBJ_PATH
Foreach($OBJ in $OBJECTS){
    IF($OBJ.key -ne $OBJ_PATH){
        IF(($CURRENT_DATE - $OBJ.LastModified).Days -le $EXPIRY_DAYS){
            Write-Host "Deleting Object= " $OBJ.key
            Remove-S3Object -BucketName $BUCKET_NAME -Key $OBJ.Key -Force
        }
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top