Ruby Backup (Rackup)

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 :)

Ruby Backup (Rackup)” üzerine bir yorum

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir