30 de septiembre de 2026 · 5 min de lectura
Cómo borrar archivos automáticamente tras unos días en S3, R2 y B2
Los archivos compartidos de forma temporal se acumulan: capturas para una revisión, una build para un tester, un archivo para un cliente. Las reglas de ciclo de vida hacen que el bucket se limpie solo. El truco está en decidir la duración al subir el archivo, colocándolo bajo un prefijo que tenga una regla.
El patrón de prefijos
Crea una regla por cada duración, cada una limitada a su propia carpeta:
tmp/1d/se elimina tras 1 díatmp/7d/se elimina tras 7 díastmp/30d/se elimina tras 30 días
Sube un archivo a tmp/7d/2026/09/report.pdf y una semana después habrá desaparecido. Nada fuera de tmp/ se toca nunca.
Cloudflare R2
- Abre los Settings del bucket, busca Object lifecycle rules y selecciona Add rule.
- Ponle un nombre, por ejemplo
expire-7d, y configura el prefijotmp/7d/. - Elige eliminar los objetos 7 días después de subirlos y guarda.
O con Wrangler:
npx wrangler r2 bucket lifecycle add your-bucket expire-7d tmp/7d/ --expire-days 7Amazon S3
- Abre el bucket, ve a Management y selecciona Create lifecycle rule.
- Ponle nombre a la regla y elige Limit the scope using filters con el prefijo
tmp/7d/. - En las acciones, selecciona Expire current versions of objects e introduce 7 días. En un bucket con control de versiones, elimina también de forma permanente las versiones no actuales.
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
Este comando sustituye toda la configuración de ciclo de vida del bucket, así que incluye las reglas que ya existan.
Backblaze B2
En los Lifecycle Settings del bucket, elige reglas personalizadas y añade una con el prefijo de nombre de archivo tmp/7d/. B2 funciona en dos fases: days from uploading to hiding y days from hiding to deleting. Configúralas en 6 y 1 para que un archivo desaparezca en torno a una semana.
¿Cuándo se eliminan exactamente los archivos?
Las reglas de ciclo de vida se ejecutan en segundo plano, normalmente una vez al día. Amazon S3 cuenta desde la hora de subida, redondea a la siguiente medianoche UTC y después pone el objeto en cola para eliminarlo; dejas de pagar por él en cuanto caduca. En la práctica, un archivo puede seguir accesible hasta aproximadamente un día después de su fecha. Si un enlace tiene que dejar de funcionar a una hora exacta, usa una URL prefirmada.
Preguntas frecuentes
¿Las reglas de ciclo de vida borran archivos aunque mi ordenador esté apagado?
Sí. Las reglas se guardan en el bucket y se ejecutan en el lado del proveedor, así que no hace falta tener nada en marcha por tu parte.
¿Puedo borrar archivos al cabo de unas horas en lugar de días?
No. Las reglas de ciclo de vida funcionan en días completos. Para enlaces que deben caducar en cuestión de horas, mantén el archivo privado y comparte una URL prefirmada.
¿Una regla de ciclo de vida borrará archivos fuera del prefijo?
No. Una regla con filtro de prefijo solo afecta a las claves que empiezan por ese prefijo. Una regla sin filtro se aplica a todo el bucket, así que configura siempre uno.