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
Jika 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