30 settembre 2026 · 5 min di lettura

Come eliminare automaticamente i file dopo qualche giorno su S3, R2 e B2

Le condivisioni temporanee si accumulano: screenshot per una revisione, una build per un tester, un file per un cliente. Le regole del ciclo di vita permettono al bucket di fare pulizia da solo. Il trucco è decidere la durata al momento del caricamento, mettendo il file sotto un prefisso che ha una regola.

Lo schema dei prefissi

Crea una regola per ogni durata, ciascuna limitata alla propria cartella:

  • tmp/1d/ elimina dopo 1 giorno
  • tmp/7d/ elimina dopo 7 giorni
  • tmp/30d/ elimina dopo 30 giorni

Carica un file in tmp/7d/2026/09/report.pdf e una settimana dopo non c'è più. Tutto ciò che è fuori da tmp/ non viene mai toccato.

Cloudflare R2

  1. Apri le Settings del bucket, trova Object lifecycle rules e seleziona Add rule.
  2. Dagli un nome, ad esempio expire-7d, e imposta il prefisso su tmp/7d/.
  3. Scegli di eliminare gli oggetti 7 days dopo il caricamento e salva.

Oppure con Wrangler:

npx wrangler r2 bucket lifecycle add your-bucket expire-7d tmp/7d/ --expire-days 7

Amazon S3

  1. Apri il bucket, vai su Management e seleziona Create lifecycle rule.
  2. Dai un nome alla regola e scegli Limit the scope using filters con il prefisso tmp/7d/.
  3. Tra le azioni, seleziona Expire current versions of objects e inserisci 7 giorni. In un bucket con versioning, elimina definitivamente anche le versioni non correnti.

Con la AWS CLI:

{
  "Rules": [
    {
      "ID": "expire-7d",
      "Status": "Enabled",
      "Filter": { "Prefix": "tmp/7d/" },
      "Expiration": { "Days": 7 }
    }
  ]
}
aws s3api put-bucket-lifecycle-configuration --bucket your-bucket \
  --lifecycle-configuration file://lifecycle.json

Questo comando sostituisce l'intera configurazione del ciclo di vita del bucket, quindi includi le regole già esistenti.

Backblaze B2

Nelle Lifecycle Settings del bucket, scegli le regole personalizzate e aggiungine una con il prefisso del nome file tmp/7d/. B2 lavora in due fasi: days from uploading to hiding e days from hiding to deleting. Impostale su 6 e 1 per un file che sparisce dopo circa una settimana.

Quando vengono eliminati esattamente i file?

Le regole del ciclo di vita vengono eseguite in background, di solito una volta al giorno. Amazon S3 conta dal momento del caricamento, arrotonda alla mezzanotte UTC successiva, poi mette in coda l'oggetto per la rimozione; smetti di pagarlo appena è scaduto. In pratica, un file può restare raggiungibile fino a circa un giorno dopo la sua data. Se un link deve smettere di funzionare a un'ora precisa, usa invece un URL prefirmato.

Domande frequenti

Le regole del ciclo di vita eliminano i file anche se il mio computer è spento?

Sì. Le regole sono salvate nel bucket e vengono eseguite dal provider, quindi dalla tua parte non deve essere in esecuzione nulla.

Posso eliminare i file dopo qualche ora invece che dopo giorni?

No. Le regole del ciclo di vita lavorano a giorni interi. Per link che devono scadere entro qualche ora, tieni il file privato e condividi un URL prefirmato.

Una regola del ciclo di vita elimina file fuori dal prefisso?

No. Una regola con un filtro di prefisso riguarda solo le chiavi che iniziano con quel prefisso. Una regola senza filtro si applica all'intero bucket, quindi impostane sempre uno.