30 September 2026 · 5 menit membaca

Cara menghapus file otomatis setelah beberapa hari di S3, R2 dan B2

Berbagi file sementara cepat menumpuk: jepretan layar untuk review, build untuk penguji, file untuk klien. Aturan siklus hidup membuat bucket membersihkan dirinya sendiri. Kuncinya adalah menentukan masa berlaku saat mengunggah, dengan menaruh file di bawah prefix yang punya aturan.

Pola prefix

Buat satu aturan untuk setiap masa berlaku, masing-masing dibatasi ke foldernya sendiri:

  • tmp/1d/ dihapus setelah 1 hari
  • tmp/7d/ dihapus setelah 7 hari
  • tmp/30d/ dihapus setelah 30 hari

Unggah file ke tmp/7d/2026/09/report.pdf dan file itu hilang seminggu kemudian. Apa pun di luar tmp/ tidak pernah disentuh.

Cloudflare R2

  1. Buka Settings bucket, cari Object lifecycle rules, lalu pilih Add rule.
  2. Beri nama, misalnya expire-7d, dan atur prefix ke tmp/7d/.
  3. Pilih untuk menghapus objek 7 hari setelah diunggah, lalu simpan.

Atau dengan Wrangler:

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

Amazon S3

  1. Buka bucket, masuk ke Management, lalu pilih Create lifecycle rule.
  2. Beri nama aturan dan pilih Limit the scope using filters dengan prefix tmp/7d/.
  3. Di bagian tindakan, pilih Expire current versions of objects dan masukkan 7 hari. Pada bucket dengan versioning, hapus juga versi lama (noncurrent) secara permanen.

Dengan 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

Perintah ini mengganti seluruh konfigurasi siklus hidup bucket, jadi sertakan juga aturan yang sudah ada.

Backblaze B2

Di Lifecycle Settings bucket, pilih aturan kustom dan tambahkan satu aturan dengan prefix nama file tmp/7d/. B2 bekerja dalam dua tahap: days from uploading to hiding dan days from hiding to deleting. Atur ke 6 dan 1 untuk file yang hilang setelah sekitar seminggu.

Kapan tepatnya file dihapus?

Aturan siklus hidup berjalan di latar belakang, biasanya sekali sehari. Amazon S3 menghitung dari waktu unggah, membulatkannya ke tengah malam UTC berikutnya, lalu memasukkan objek ke antrean penghapusan; Anda berhenti membayarnya begitu objek itu kedaluwarsa. Dalam praktiknya, file bisa tetap bisa diakses hingga sekitar satu hari setelah tanggalnya. Jika tautan harus berhenti berfungsi pada waktu yang tepat, gunakan presigned URL sebagai gantinya.

Pertanyaan umum

Apakah aturan siklus hidup tetap menghapus file saat komputer saya mati?

Ya. Aturan disimpan di bucket dan dijalankan di sisi penyedia, jadi tidak ada yang perlu berjalan di sisi Anda.

Bisakah saya menghapus file setelah beberapa jam, bukan beberapa hari?

Tidak. Aturan siklus hidup bekerja dalam hitungan hari penuh. Untuk tautan yang harus kedaluwarsa dalam hitungan jam, biarkan file tetap pribadi dan bagikan presigned URL.

Apakah aturan siklus hidup akan menghapus file di luar prefix?

Tidak. Aturan dengan filter prefix hanya memengaruhi kunci yang diawali prefix tersebut. Aturan tanpa filter berlaku untuk seluruh bucket, jadi selalu atur filternya.