Tips Bash Script : Menghapus File yang Dibuat Sebelum Tanggal Tertentu

Saat menangani salah satu server klien Excellent, sebuah perusahaan besar dibidang transportasi, saya memerlukan cara cepat untuk menghapus file-file backup yang berada pada folder /tmp/backup-vavai dan usianya lebih dari tanggal tertentu.

Maksudnya seperti ini. Pada suatu server, saya memiliki file-file backup mailbox email dalam bentuk file .tar.gz. Jumlahnya ribuan, ukurannya bervariasi dan total data sekitar 400-500 GB. Saya ingin menghapus file backup yang dibuat sebelum tanggal 1 Agustus 2013 dengan pertimbangan file ini sudah boleh dihapus karena sudah sekitar 1 bulan mengendap tanpa ada komplain.

Ternyata dengan BASH, eksekusi hal ini mudah sekali. Kita cukup membuat file temporer yang seolah-olah dibuat pada tanggal 1 Agustus 2013, kemudian melakukan perintah pencarian sekaligus menghapus file yang kita maksudkan. Perintahnya cukup 2 baris seperti berikut ini :

[code lang=”bash”]
touch -t 201308010000 filepembanding.txt
find /tmp/backup-vavai -type f ! -newer filepembanding.txt -delete
[/code]

bash-scriptJika ingin menampilkan saja, ganti argument/parameter -delete dengan -ls. Perintah dengan parameter -ls ini bermanfaat jika kita ingin mengecek apakah perintah yang kita jalankan sudah benar atau belum. Jangan sampai kita salah hapus data penting karena salah perintah 😛

Bagaimana jika yang ingin dihapus adalah file yang lebih baru dari file pembanding tersebut? Mudah saja. Cukup hilangkan tanda ! dari perintah diatas. Tanda ! melambangkan kondisi bertolak belakang, jadi perintah

[code lang=”bash”]
find /tmp/backup-vavai -type f ! -newer filepembanding.txt -delete
[/code]
Dibaca : Temukan semua file pada folder /tmp/backup-vavai yang usianya TIDAK lebih baru dari file pembanding kemudian hapus file tersebut.

Jika kita hilangkan tanda ! menjadi
[code lang=”bash”]
find /tmp/backup-vavai -type f -newer filepembanding.txt -delete
[/code]
akan dibaca : Temukan semua file pada folder /tmp/backup-vavai yang usianya LEBIH BARU dari file pembanding kemudian hapus file tersebut.

Jika yang ingin dihapus berupa folder, ganti parameter -type f dengan -type d.

BASH bahasa pemrogramman yang keren kan 😉

2 thoughts on “Tips Bash Script : Menghapus File yang Dibuat Sebelum Tanggal Tertentu

  1. Mungkin tepatnya command line tips. Karena find bukan internal bash, bisa dipanggil dari shell apapun (find dari paket findutils/GNU Find).

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.