7-Zip ile Dosyaların Otomatik ve Periyodik Olarak Arşivlenmesi

Tesisimizde bulunan sistemlerden biri, tüm satır içi işlemleri trace dosyalarına log kayıtları şeklinde saklıyor. Bu dosyalar belirlenen bir boyuta ulaştıklarında yeni kayıtlar eski kayıtların üzerine yazılarak işleme devam ediliyor. Bu şekilde alınan kayıtlar sayesinde son 3 güne ait tüm işlemleri görebiliyoruz. Ama sizin de tahmin edebileceğiniz gibi, 3 günden daha eski kayıtları da incelememiz gereken durumlar oluşabiliyor ve bu durumda bu kayıtlar yetersiz kalıyor. Bu sebeple, tüm log kayıtlarının tutulduğu klasöre ait içeriği, 3 günde bir zip formatında sıkıştırarak farklı bir klasöre kopyalayan otomatik bir mekanizma yapmaya karar verdik.

Şimdi, tamamen ücretsiz ve popüler bir yazılım olan 7-Zip bu işlemi otomatik ve düzenli olarak nasıl gerçekleştireceğimizi anlatmaya çalışacağım. İşlemi adımlar halinde ve mümkün olduğunca açık bir şekilde anlatmaya çalışacağım.

Adım 1

7-Zip standalone console version isimli versiyonu, aşağıda linkini verdiğim 7-Zip web sitesi indirme sayfasından indiriyoruz:

https://www.7-zip.org/download.html

Not: İndirilen dosya, 7z uzantılı sıkıştırılmış bir dosya olacak. Eğer bilgisayarınızda 7z uzantılı dosyaları açabilen bir uygulama yoksa 7-Zip yazılımını kurmanız gerekecek.

Adım 2

İndirdiğiniz dosyanın içeriğini uygun bir yere klasöre kopyalayın. Örneğin, C:\7zip\ veya C:\Program Files\7zip. Tüm içeriği kopyalamanıza gerek yok. “7za.exe”, “7za.dll” ve “7zxa.dll” isimli dpsyaları kopyalamamız yeterli. İndirdiğimiz arşiv dosyasının kök dizininde bulunan bu 3 dosya 32 bit (x86) versiyona ait. Eğer 64 bit’lik versiyonu kullanmak isterseniz kök dizin içinde bulunan x64 isimli klasördeki aynı isimli 3 dosyayı kopyalamanız gerekiyor.

Not: Eğer yukarıda belirtilen kopyalama işlemlerini hatasız bir şekilde tamamladıysanız, bilgisayarınızdaki 7-Zip klasörüne giderek Windows komut satırı üzerinden “7za” komutunu çalıştırabiliyor olmanız lazım. Bu işlemi deneyerek kontrol sağlayabilirsiniz.

Adım 3

Yeni bir text dosyası oluşturun ve dosya uzantısı “.bat” olacak şekilde kaydedin. Ben dosyamı auto7zip.bat olarak kaydediyorum. Bu dosya bizim batch komut dosyamız olacak. Aşağıdaki komutu batch dosyamızın içine kopyalıyoruz ve kendimize göre düzenliyoruz.

Taslak Komut:

[7-Zip Folder]\7za a -tzip “[Hedef Klasör]\[Arşiv Dosya Adı].zip” “[Arşivlenecek Klasör]” -mx5

[7-Zip Folder] alanına 7za.exe dosyasının olduğu dizini yazıyoruz, [Arşivlenecek Klasör] alanına arşivleyip saklamak istediğimiz dizini yazıyoruz, [Hedef Klasör] alanına sıkıştırılmış arşiv dosyasının kaydedileceği dizini yazıyoruz, [Arşiv Dosya Adı] alanına ise .zip uzantısı ile arşivlenecek dosyamıza vermek istediğimiz ismi yazıyoruz. Ben arşivleme anındaki tarih ve saat bilgilerini kullanarak [Arşiv Dosya Adı]’nı belirlemeyi tercih ediyorum. Böylece asıl amacımız olan log kayıtlarının analizini kolaylaştırıyoruz.

Örnek Komut:

C:\7ZipRoot\7za a -tzip “C:\Arsivlerim\ArsivDosyam.zip” “C:\ArsivlenecekLoglar” -mx5

Örnek Komut (Tarih ve zaman kullanarak dosya isimlendirmesi):

C:\7ZipRoot\7za a -tzip “C:\Arsivlerim\%DATE:~12,2%%DATE:~4,2%%DATE:~7,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.zip” “C:\ArsivlenecekLoglar” -mx5

Not: Batch dosyamızı oluşturduktan sonra üzerine çift tıklayarak çalışıp çalışmadığını kontrol edebiliriz. Çalıştığını emin olduktan sonra da bir sonraki adıma geçebiliriz.

Adım 4

Windows Görev Zamanlayıcı’yı (Task Scheduler) açıyoruz ve yeni bir görec oluşturuyoruz. “Genel” sekmesinde yeni göreve bir isim veriyoruz. Sonra, “Tetikleyiciler” sekmesinden her 3 günde bir çalışacak bir tetikleyici oluşturuyoruz. Son olarak, “Eylemler” sekmesine gidiyoruz ve tetikleyici tarafından yeni oluşturduğumuz batch komut dosyamızı çalıştıracak yeni bir eylem oluşturuyoruz.

İşlem tamamlanmış oluyor. Artık Log dosyalarımız düzenli olarak sıkıştırılacak ve hedef klasörde depolanacak.

Add a Comment

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