Kayıt Temizleme Scripti
Aşağıdaki script, MongoDB’dekiuptime_monitor_result koleksiyonunda depolanan kayıtlardan belirtilen saat öncesine kadar olan kayıtları silmek için kullanılır. Bu işlem ile veritabanı temizlenerek depolama alanı optimize edilir.
Nasıl Çalışır
1
MongoDB Bağlantı Bilgilerini Tanımlama
MongoDB sunucusuna bağlanmak için gerekli bilgiler ilgili değişkenlere tanımlanır: HOST, PORT, DB_NAME, USERNAME, PASSWORD ve AUTH_DB.
2
Zaman Dilimini Belirleme
TIME_VALUE değişkeni ile son kaç saat öncesine kadar olan kayıtların silineceği belirtilir. Bu değer saat (H) veya gün (D) cinsinden olabilir.
3
MongoDB Komutlarını Hazırlama
MONGO_COMMANDS değişkeni içerisinde, belirtilen saat öncesine kadar olan belgeleri bulmak ve silmek için MongoDB komutları tanımlanır.
4
Komutları Çalıştırma
mongosh komutu ile MongoDB sunucusuna bağlanılır ve MONGO_COMMANDS değişkeninde tanımlanan komutlar çalıştırılır.
5
Sonuç Kontrolü
İşlem tamamlandığında, ekrana “The command has been executed. Please check the content of the related collection.” mesajı yazdırılır.
Kullanım
Scripti çalıştırmadan önce MongoDB değişkenlerine kendi bilgilerinizi giriniz. TIME_VALUE değişkenini istediğiniz saat/gün değerine göre güncelleyebilirsiniz. Örneğin:- Son 3 saatteki belgeleri korumak ve geri kalanını silmek için
TIME_VALUE=3H - Son 5 gündeki belgeleri korumak ve geri kalanını silmek için
TIME_VALUE=5D
- Bir metin düzenleyici (vi, nano vb.) yardımıyla script bir dosyaya kopyalanır ve içindeki değişkenler düzenlenir
- Dosyaya çalıştırma yetkisi verilir:
chmod +x purge_uptime_monitor_result_collection.sh - Dosya çalıştırılır:
./purge_uptime_monitor_result_collection.sh
& karakterini ekleyerek arkaplanda çalışmasını sağlayabilirsiniz:
CronJob Kullanımı
1
Cron Düzenleyicisini Açma
Terminalde aşağıdaki komutu çalıştırarak cron düzenleyicisi açılır:
2
Cron Job Ekleme
Açılan editöre, scripti ne sıklıkla çalıştırmak istediğinize göre bir satır ekleyin.Örneğin, her gün saat 23:59’da çalıştırmak için:
3
Kaydetme
Eklediğiniz satırı kaydetmek için Esc tuşuna basıp :wq yazıp enter tuşuna basın.
Script içerisinde belirttiğiniz zaman dilimine göre veri temizleme işlemi gerçekleşecektir. Bu nedenle, script içerisindeki zaman diliminin ve cron ile belirlediğiniz tetikleme saatinin tutarlı olmasını sağlamak önemlidir.

