Bu makalede Task Scheduler yardımıyla .bat uzantılı dosyayı çalıştırıp belirli uzantılı yedek dosyalarımızın silme işlemini gerçekleştireceğiz. Sql Express sürümünde de stored procedure çalıştırmak için bu yapı kullanılmaktadır.
İlk başta .bat uzantılı dosyamızı oluşturuyoruz. Gerekli kod bloklarını hazırladıktan sonra masaüstünde bir not defteri açarak kodumuzu yapıştırıyoruz. Makalenin alt kısmında silmi komutları paylaşılmıştır.
forfiles -p "C:\YEDEK" -s -m *.bak /D -1 /C "cmd /c del @path"
forfiles -p "C:\YEDEK2" -s -m *.bak /D -1 /C "cmd /c del @path"
Alt altta forfiles ifadelerini çoğaltabiliriz. Yukarıda text dosyasını farklı kaydet seçeneğine tıklayıp uzantısını .bat olarak değiştiriyoruz.
Dosyamızı oluşturduktan sonra Windows arama yerine Task Scheduler yazılır.
Aşağıdaki bölümde elimizde bulunan Scheduler’ı görebiliriz.
Sağ tarafta bulunan Actions bölümünde Create Task.. deyip bir Task oluşturuyoruz.
Gelen ekranda General sekmesinde Name kısmında Scheduler’a bir isim veriyoruz. Alt kısımda bulunan security options kısmında Kullanıcı oturum açmışsa da açmamışsa da çalıştır seçeneğini işaretliyoruz.
İlk seçenek yalnızca kullanıcı oturum açtığında çalışır. 3. seçenek ise en yüksek ayrıcalıklarla çalıştırır.
Bu bölümde gerekli ayarlamaları yaptıktan sonra Triggers sekmesine geliyoruz. Gelen ekranda New deyip bir tetikleme zamanı belirtiyoruz.
Başlangıçtaki settings bölümünde sadece bir kez veya günlük haftalık aylık çalışmasını isteyebiliriz.
Aşağıdaki ekranda Gelişmiş ayarlar seçeneğinde ;
Repeat task every: 5 dakikada bir bat dosyasının tetiklenmesini istiyorum.
Stop all running task at end of repetition duration: Tüm çalışan görevleri yineleme süresinin sonunda durdur.
Delay task for up to: Görevi geciktirme süresi olarak karşımıza çıkmaktadır.
Stop task if it runs longer than: Kısmında ise şu süreden uzun çalışırsa görevi durdurabiliriz.
Expire: Belirli bir süre sonra belirtilen tarih zaman diliminde biteceğini belirleyebiliriz.
Actions kısmına gelerek oluşturduğumuz “.bat” uzantılı dosyayı Browse.. sekmesinden seçiyoruz. Seçim yaptıktan sonra OK tuşuna basıyoruz.
Actions bölümünde işlemleri tanımladıktan sonra Conditions ve Settings kısmında herhangi bir düzenleme veya değişiklik yapmıyoruz. Aşağıdaki resimde Task’ın oluştuğunu görmekteyiz.
Yukarıda oluşturmuş olduğumuz Task’ı çalıştıralım. Çalıştırmadan önce YEDEK klasörünün altında Backupların olduğunu görelim. Çalıştırdıktan sonra ne gibi bir durumla karşılaşacağız.
Daha sonra ilgili dosyanın üzerine sağ tıklayıp çalıştırıyoruz. Aşağıdaki resimde görüldüğü gibi manuel bir şekilde de çalıştırılır.
Çalıştırdıktan sonra ilgili klasörler altında yedeklerimizin gittiğini görmüş oluyoruz.
Silme script’lerimiz aşağıda mevcut. Aşağıdaki komutlar son 8 günden öncesini sil anlamındadır.
forfiles -p "C:\YEDEK\BACKUP" -s -m *.trn /D -8 /C "cmd /c del @path"
forfiles -p " C:\YEDEK2\BACKUP" -s -m *.trn /D -8 /C "cmd /c del @path"
forfiles -p " C:\YEDEK3\BACKUP" -s -m *.trn /D -8 /C "cmd /c del @path"
forfiles -p " C:\YEDEK4\BACKUP" -s -m *.trn /D -8 /C "cmd /c del @path"
forfiles -p " C:\YEDEK5\BACKUP" -s -m *.trn /D -8 /C "cmd /c del @path"
Silme script’lerimiz aşağıda mevcut. Aşağıdaki komut son 7 günden öncesini sil anlamındadır.
forfiles -p " C:\YEDEK\BACKUP" -s -m *.bak /D -7 /C "cmd /c del @path"
forfiles -p " C:\YEDEK2\BACKUP" -s -m *.bak /D -7 /C "cmd /c del @path"
forfiles -p " C:\YEDEK3\BACKUP" -s -m *.bak /D -7 /C "cmd /c del @path"
forfiles -p " C:\YEDEK4\BACKUP" -s -m *.bak /D -7 /C "cmd /c del @path"
forfiles -p " C:\YEDEK5\BACKUP" -s -m *.bak /D -7 /C "cmd /c del @path"
Bu makalede Sql Server alınmış yedeklerin bat uzantılı dosyalar ve Task Scheduler yardımıyla yedek dosyasının ilgili dizin altında silinmesi sağlanmıştır. Başka bir makalede görüşmek dileğiyle..
“İman edip de iyi davranışlarda bulunanlara gelince, onlar için çok merhametli olan Allah, (gönüllerde) bir sevgi yaratacaktır.” Meryem-96