Merhaba arkadaşlar,
Bu yazımda daha Önceden de bahsetmiş olduğum ve son iki yazımda da alt yapısını oluşturduğum Ruby Backup (Rackup) uygulamasını sizlere tanıtacağım.
Öncelikle belirtmem gerekir ki; Bu uygulamayı ben kendim için geliştirdim, nedenlerini anlatayım;
– Paranoyaklığımdan Ötürü (ve elbetteki kodları kaybetmenin mazereti olmayacağını bildiğim için) kullandığım versiyon kontrol yazılımının yetmeyeceğini, birgün bana inat çok Önemli bir dÖnemde çÖkebileceğini düşünerek yazdığım programların kopyasını almaya başladım.
– Diğer neden ise tembelim.. evet evet tembelim, her seferinde klasÖrleri tek tek seçip sıkıştır daha sonra sıkıştırma işlemi ile oluşturduğun dosyayı nispeten daha güvenli olduğuna inandığım bir aygıta kopyalamak yerine… :) oturdum bu işleri benim yerime yapacak Rackup uygulamasını geliştirdim. İyi de ettim diye düşünüyorum. Hatta iş arkadaşlarım kullanmaya başladılar bile. Elbette onlar için de birkaç geliştirme yapmak ve hata düzeltmek zorunda kaldım. ‘Bırak olduğu gibi kalsın kardeşim ne hatası ne düzeltmesi’ diyecek oldum.. ama diyemedim.. :D siz de demeyin. bulduğunuz hataları bana iletin.. ben de sizlere peşin peşin teşekkür edeyim :)
Neyse konuyu şimdiden uzattım bile. Hemen Rackup uygulamasının içeriğine başlayalım.
Öncelikle projenin dosyalarına buradan ulaşabilirsiniz.
Programı çalıştırabilmek için bazı işlemleri yerine getirmeniz gerekli, bunlar;
- Ruby kurulu olmalı, ruby programları çalıştırabiliyor olmalısınız.
- RubyZip kütüphanesi kurulu olmalı, eğer değil ise, ‘gem install rubyzip –include-dependencies’ ile kurulabilir.
- rackup_config.yaml dosyasının hazırlanması;
- source: kaynak dizininin ve dosyaların bilgilerini taşır
- include_subfolders: Kaynak dizinin yedeklenmesinde alt dizinler de dikkate alınacak mı?
- file_extension: Kaynak dizinin altında yer alan hangi dosya uzantılı dosyaların yedekleri alınacak. Eğer belirtilmez ise tüm dosyaların yedeği alınır.
- target: Hedef dizinin bilgilerini ve oluşturulacak dosyanın bilgilerini taşır.
- prefix: Sıkıştırılarak oluşturulmuş dosyanın Ön ekini belirtir.Oluşturulacak olan dosyanın yapısı [prefix][Tarihsel ayırac][postfix].zip şeklindedir. [Tarihsel ayırac] kısmı değiştirilemez, prefix ve postfix bÖlümleri değiştirilebilir.
- postfix: Sıkıştırılarak oluşturulmuş dosyanın son ekini belirtir.
- Tüm Özelliklerin kümesi bir Örnekle example_config_file.yaml’de açıklanmıştır.
- config dosyasında belirtilen target ve source dizinleri daha Önceden yaratılmalıdır
- Programın çalıştırılması Rackup.rb’nin çalıştırılması ile gerçekleşir.
- Rackup.rb çalıştırılırken eğer parametre olarak herhangi bir ‘yaml’ dosyası verilmez ise, aynı dizindeki rackup_config.yaml dosyası config dosyası olarak alınır. Eğer parametre olarak herhangi bir config dosyası verilir ise Örneğin; “Rackup.rb example_config_file.yaml” şeklinde çalıştırılır ise ‘example_config_file.yaml’ içerisinde yer alan ayarlar ise işlemleri gerçekleştirir. BÖylece birden fazla ‘cron’ veya ‘at’ veya ‘schedule job’ tanımlayarak istediğimiz zaman istediğimiz dizindeki, istediğimiz dosyaların yedeklerini alabiliriz.
Bir sonraki yazımda Rackup.rb’yi daha detaylı bir şekilde açıklamaya çalışacağım.
Kolay gelsin :)
1 Response
[…] Ruby Backup (Rackup) […]