Menjaga sistem Linux tetap bersih dan teratur sangat penting, terutama pada server dengan banyak file log, cache, atau file sementara yang menumpuk.
Salah satu cara paling efektif adalah menggunakan cron job untuk menghapus file lama secara otomatis berdasarkan waktu pembuatan/modifikasi dan nama file. Artikel ini akan membahas semua yang perlu kamu ketahui, lengkap dengan contoh praktis.
Contents
1️⃣ Apa Itu Cron Job?
Cron adalah scheduler di Linux yang menjalankan perintah atau script secara otomatis sesuai jadwal. Format dasar cron:
Contoh: menjalankan perintah setiap 5 menit:
2️⃣ Menghapus File Berdasarkan Waktu
Linux menyediakan perintah find untuk mencari file berdasarkan umur file, sehingga bisa dihapus secara otomatis.
a. Menghapus berdasarkan menit (-mmin)
-
-type f→ hanya file -
-mmin +30→ lebih dari 30 menit -
-delete→ hapus file
b. Menghapus berdasarkan jam
Karena 1 jam = 60 menit:
-
+120→ file lebih dari 2 jam
c. Menghapus berdasarkan hari (-mtime)
-
-mtime +1→ file terakhir diubah lebih dari 1 hari
3️⃣ Menghapus Berdasarkan Nama File
Kadang kita ingin menghapus file tertentu saja, misal semua file log *.log atau file sementara temp_*:
-
-name '*.log'→ hanya file berekstensi.log -
Bisa mengecualikan file penting:
4️⃣ Kombinasi Waktu dan Kondisi
find memungkinkan kombinasi logika untuk fleksibilitas:
-
\(...\)→ group kondisi -
-o→ OR -
Bisa diganti
-a→ AND
5️⃣ Contoh Script Cron Job Universal
Berikut script bash universal, aman untuk menghapus file lama berdasarkan waktu dan nama file, bisa langsung dijadikan cron job:
6️⃣ Setting Cron Job
-
Simpan script misal di
/usr/local/bin/clear_old_files.sh -
Beri hak eksekusi:
-
Tambahkan cron job:
Contoh untuk menjalankan setiap 5 menit:
7️⃣ Tips Aman
-
Selalu cek file dulu sebelum dihapus:
-
Jangan hapus folder sistem penting, gunakan folder khusus file sementara atau cache.
-
Gunakan
-nameatau! -nameuntuk memfilter file yang aman dihapus. -
Bisa menambahkan log file yang dihapus untuk audit.
8️⃣ Ringkasan
-
Cron job + find → cara otomatis menghapus file lama
-
-mmin→ menit,-mtime→ hari -
Filter nama file → menghapus file tertentu saja
-
Script universal → mudah disesuaikan folder, waktu, dan pattern
Dengan setup ini, server tetap bersih, file sementara tidak menumpuk, dan performa sistem tetap optimal.