30 Eylül 2026 · 5 dk okuma

S3, R2 ve B2'de dosyaları birkaç gün sonra otomatik silme

Geçici paylaşımlar birikir: inceleme için ekran görüntüleri, test eden birine bir build, bir müşteriye bir dosya. Yaşam döngüsü kuralları bucket'ın kendi kendini temizlemesini sağlar. İşin püf noktası, dosyanın ömrüne yüklerken karar vermek: onu kuralı olan bir önekin altına koyarak.

Önek düzeni

Her süre için, her biri kendi klasörüyle sınırlı bir kural oluştur:

  • tmp/1d/ 1 gün sonra siler
  • tmp/7d/ 7 gün sonra siler
  • tmp/30d/ 30 gün sonra siler

Bir dosyayı tmp/7d/2026/09/report.pdf yoluna yükle, bir hafta sonra gitmiş olsun. tmp/ dışındaki hiçbir şeye dokunulmaz.

Cloudflare R2

  1. Bucket'ın Settings sekmesini aç, Object lifecycle rules bölümünü bul ve Add rule'a tıkla.
  2. Bir ad ver, örneğin expire-7d, ve öneki tmp/7d/ yap.
  3. Nesnelerin yüklendikten 7 gün sonra silinmesini seç ve kaydet.

Ya da Wrangler ile:

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

Amazon S3

  1. Bucket'ı aç, Management'a git ve Create lifecycle rule'a tıkla.
  2. Kurala bir ad ver ve tmp/7d/ önekiyle Limit the scope using filters seçeneğini belirle.
  3. Eylemler altında Expire current versions of objects'u seç ve 7 gün gir. Versiyonlama açık bir bucket'ta eski (noncurrent) versiyonları da kalıcı olarak sil.

AWS CLI ile:

{
  "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

Bu komut bucket'ın tüm yaşam döngüsü yapılandırmasını değiştirir, bu yüzden hâlihazırda var olan kuralları da dahil et.

Backblaze B2

Bucket'ın Lifecycle Settings bölümünde özel kuralları seç ve tmp/7d/ dosya adı önekiyle bir kural ekle. B2 iki aşamada çalışır: days from uploading to hiding ve days from hiding to deleting. Yaklaşık bir hafta sonra kaybolan bir dosya için bunları 6 ve 1 yap.

Dosyalar tam olarak ne zaman silinir?

Yaşam döngüsü kuralları arka planda, genellikle günde bir kez çalışır. Amazon S3 yükleme zamanından itibaren sayar, bir sonraki UTC gece yarısına yuvarlar ve nesneyi silinmek üzere sıraya alır; süresi dolduğu anda ücretlendirme durur. Pratikte bir dosyaya tarihinden sonra en fazla bir gün kadar daha erişilebilir. Bir bağlantının tam bir saatte çalışmayı bırakması gerekiyorsa bunun yerine bir presigned URL kullan.

Sık sorulan sorular

Bilgisayarım kapalıyken de yaşam döngüsü kuralları dosyaları siler mi?

Evet. Kurallar bucket'ta saklanır ve sağlayıcı tarafında çalışır, bu yüzden senin tarafında hiçbir şeyin çalışıyor olması gerekmez.

Dosyaları gün yerine birkaç saat sonra silebilir miyim?

Hayır. Yaşam döngüsü kuralları tam günlerle çalışır. Saatler içinde geçersiz olması gereken bağlantılar için dosyayı gizli tut ve bir presigned URL paylaş.

Bir yaşam döngüsü kuralı önekin dışındaki dosyaları siler mi?

Hayır. Önek filtresi olan bir kural yalnızca o önekle başlayan anahtarları etkiler. Filtresiz bir kural tüm bucket'a uygulanır, bu yüzden her zaman bir önek belirle.