2012-01-24 15 views
43

Esistono soluzioni per eliminare file precedenti a x giorni?Come eliminare o eliminare vecchi file su S3?

+1

Per ora userò questa soluzione: 's3cmd ls s3: // mybucket/mypath/| ruby ​​-rdate -ne 'data, ora, dimensione, uri = $ _. days = (Time.now - Date.parse (date) .to_time)/60/60/24; mette uri se giorni> 2 '| xargs s3cmd del' – Erik

risposta

62

Amazon ha introdotto object expiration di recente.

Amazon S3 annuncia oggetto di scadenza

Amazon S3 ha annunciato una nuova scadenza funzione, oggetto che permette di programmare la cancellazione di vostri oggetti dopo un periodo di tempo predefinito. L'utilizzo della scadenza degli oggetti per pianificare la rimozione periodica degli oggetti elimina la necessità per te di di identificare oggetti da eliminare e inviare richieste di eliminazione ad Amazon S3.

È possibile definire le regole di scadenza oggetto per un set di oggetti in il bucket. Ogni regola Scadenza oggetto consente di specificare un prefisso e un periodo di scadenza in giorni. Il campo prefisso (ad esempio logs/) identifica gli oggetti soggetti alla regola di scadenza e il periodo di scadenza specifica il numero di giorni dalla data di creazione (vale a dire l'età) dopo il quale gli oggetti devono essere rimossi. Una volta che gli oggetti hanno superato la data di scadenza, verranno accodati per la cancellazione. Si non verrà addebitato per la memorizzazione per gli oggetti su o dopo la loro data di scadenza .

+1

Eccellente, grazie! – Erik

+0

Questo è uno strumento piuttosto smussato fornito da Amazon; fa quello che dice sulla latta! Se hai bisogno di un controllo più preciso su come è fatta la cancellazione, dovrai usare il vecchio metodo DELETE. Un'altra opzione è avere fino a 1000 diverse regole di scadenza dell'oggetto (e 1000 prefissi diversi); sei limitato a 1000. –

+4

Questo non cancella i 'vecchi file già presenti'. Ha effetto dal momento in cui lo crei. – Harshdeep

Problemi correlati