Selasa, 20 Maret 2018

Hapus file berdasar tgl

Tips Bash Script : Menghapus File yang Dibuat Sebelum Tanggal Tertentu

https://vavai.com/2013/09/01/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 :
1.touch -t 201308010000 filepembanding.txt
2.find /tmp/backup-vavai -type f ! -newer filepembanding.txt -delete
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
1.find /tmp/backup-vavai -type f ! -newer filepembanding.txt -delete
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
1.find /tmp/backup-vavai -type f -newer filepembanding.txt -delete
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

Tidak ada komentar:

Posting Komentar