hardlink, ve Rsync + hardlink ile incremental (sadece değişen dosyaları) günlük backup almak

Selamlar;

Rsync’i backup almak için kullanmaktayız. Buradaki güzelliğimiz şöyle, sadece değişen dosyaları backup almak istiyoruz, ancak diğer dosyalarımız da link olarak backup aldığımız klasörün içerisinde hazır bulunsun istiyoruz. Böylelikle, backupı geri yüklemek, klasörü silip, backup olarak aldığımız klasörü kopyalamak kadar basit olabilsin.

Hard-link nedir?

Hard link temel olarak , dosyanın diskte bulunan kısmını işaret eden pointer ın adıdır. Yani normal 1 dosya oluşturup adına a.txt verdiğimizi hayal edelim. Burada, a.txt ye ait veriler diskte bir yerde bulunmakta, ve bu disk alanını işaret eden a.txt ismi ise bir hardlinktir. ve aynı disk bloğuna 1’den fazla hard-link verebiliriz. Yani hem a.txt hem b.txt dediğmiz şey aynı veriyi içerebilir. Bu durumda 2 pointer (2 hard-link) ama tek dosyamız olacaktır. hard-link in kısayoldan veya symbolic linkten tek farkı ise, bu şeyin bir link değil tamı tamamına gerçek bir dosya olarak davranmasıdır. a.txt ve b.txt aynı disk alanını gösteren 2 hardlink ise, burada a.txt yi silerseniz bile, işletim sistemi, bu veri alanına işaret eden başka bir hard link olduğu için veriye sizi b.txt üzerinden halen eriştirebilir halde tutacaktır. Yani a.txt yi sildiğinizde aynı veriye b.txt den halen erişebilir olmaktasınız.

hardlinks

Hard-link ile kullanılan Rsync’in avantajı nedir?

Bu şekilde aldığınız backuplar cümbür cemaat tüm kasörü aynen backup almış gibi olmanızı sağlar, ancak disk alanı olarak bunu harcamanıza gerek olmaz. Sadece değişen dosyalarınız cp komutu ile kopyalanır, diğerleri ln komutu ile hardlink yapılır. bu harclink yapılanlar disk alanı harcamaz. Sadece df -i komutuyla gördüğünüz INode harcarlar. (yani disk pointer’ı harcarlar). Yani zararı yoktur (dosyayı kopyalasaydık hem INode hem disk alanı harcayacaktık), kârı çok büyüktür (özellikle büyük dosyalarda disk alanından çok kâr ederiz), ek olarak da bütün backup klasörümüz gerçekten o anki halinin copy paste’i gibi kullanılabilir haldedir. Yani base directorynizi 2-3 gün sonra bile silseniz, hiç canınız acımaz. 

Kodlar çok kısa ve basit

aşağıda /local-backup/ dizinimiz yedeklerimizin gün gün bulunduğu ana klasörümüz olacak. /var/www/ana_dizin/ de yedeği alınacak ve üzerinde zaman zaman birşeylerin değişeceği ana dizinimiz olacak. Bu dosyayı backuper.sh olarak alıp cronjobunuza ekleyebilirsiniz.

basedir=$(ls -t /local-backup/| head -1)
/usr/bin/rsync -avtb --delete --link-dest=../$basedir /var/www/ana_dizin/ /local-backup/`date +%F`/

basedir ile başlayan satır, oluşan en güncel backup dizinini bulacak, bir alt satırdaki komut ile de rsync ile buraya hardlink verecek şekilde backupı alacaksınız.

Bu kodda bulunan `date +%F` kısmı sadece Y-m-d formatında tarihi verdiğinden bu backup scriptini günde 1 kere çalıştırmanız makul olacak, aksi halde üzerine yazacaktır. Ancak siz orada `date +%F` kısmını `date +%Y-%m-%d:%H:%M:%S` şeklinde saniyeye kadar değişken hale getirebilirsiniz.

Deneyelim

  • Boş disk alanımızı kontrol edelim, (df komutu ile)
  • anlayabilmek içini içinde 5 MB lık 2 dosya olan bir klasör oluşturup backupını alacak şekilde backuper.sh ımızı düzenleyelim. date kısmında da `date +%Y-%m-%d:%H:%M:%S` eklinde verelim ki bir kaç defa ayrı klasörlere backup alabilelim.
  • scriptimizi 10 kez çalıştıralım. Toplamda 10 MB x 10 kez çalıştırma = 100MB lık disk alanımız eksilmesi gerekirken, df -h yaptığımızda sadece 10 MB lık disk alanımız (ilk nüsha) eksildiğini göreceksiniz.
  • Bu noktadan itibaren anlamamızı pekiştirmek için çeşitli varyasyonlarla ana dizindeki dosyaları değiştirebiliriz.

Görüşmek üzere.

 

Diagram Designer for Mac OSX – LibreOffice Draw

MacOSX kullanıcıysanız, bir diagram designer edinmek pek de kolay olmuyor malesef. Ücretli bir şeyler almak http://maggiesbigadventure.com/pj-dating-deaf/ niyetinde pek olmadığım bu başlık ile ilgili çözümümü, ücretsiz bir yazılım olan LibreOffice Draw ile çözdüm. Tabi onu bulana kadar, exe çalıştırabilen toollari tüm window üretme araçlarımı değiştirmek, vb gibi çözümler denemeye çalıştım ancak, çok ucube programlar için 1 ton iş yapıp bir de yaptığım değişiklikleri geri almak durumunda kaldım.

Libre office online dating service sex draw ile, şu an hem network, hem sunucu, hem topoloji, hem UML, hem de akış diagramı (akış diagramı tasarlamak biraz daha zor, diğer programlara göre http://signaturetechavl.com/activities-for-singles-in-va-at/ ancak o da oluyor) ihtiyaçlarımızı karşılayabildim.

Tavsiye http://serenebalance.org/but-blind-singles/ edecek kadar da sevebildim. MacOSX için Libre office’i indirdiğinizde draw da zaten içerisinde gelmekte. https://tr.libreoffice.org/download/ linkinden işletim sisteminize göre seçip (otomatik seçiyor olması lazım zaten) indirip kurabilirsiniz.

mac osx icin notepad++ benzeri uygulama – textwrangler

Windowsta varsayılan metin düzenleyici olarak notepad++ kullanlardan biri olarak, mac için de benzer ihtiyaçlarım adına doğru düzgün bir metin düzenleyiciye ihtiyaç duydum. İnternette “notepad++ equivalent for mac osx” şeklinde arattığımda, bu programı hemen buldum.

Çok fazla uzun söze gerek yok, textwrangler bu işe birebir, hatta daha fazlasını (notepad++ kullanım alışkanlıkların bir miktar değişmesi beklenerek) yapıyor.

Buyrunuz App store linki : https://itunes.apple.com/tr/app/textwrangler/id404010395?l=tr&

Windows komut satırı alternatifi (command prompt alternative)

Linux kullananlar bilir ki, windows komut satırı linuxun yanında çok temel ve zor kalıyor.

Bu noktada küçük bir araştırma ile Console2 diye bir program buldum. Bu program windowsların komut satırını çoklu tab, ve kısayollar ile birlikte arayüzü ve fontları değiştirilebilen, oldukça kolaylaştırılmış ve güzel bir araç haline getiriyor. Windows 7 ile kullanıyorum, güzel çalışıyor.

Umarım işinize yarar.

Cok Onemli – Google Talk konusmalari baska kisilere gidiyor!

Sabahleyin gmailimi açtığımda inanılmaz bir tablo ile karşılaştım.
Şriketimizdeki kişilerin kendi aralarındaki konuşmalar benim gmailime hangout konuşması olarak düşmüş.

Bir arkadaşımıza hintli tanımadığı birinin konuşmaları da gelmiş.
Bug report için bkz : http://ibnlive.in.com/news/gtalk-bug-alert-google-talk-delivering-messages-to-unintended-contacts/424653-11.html

kredi kartı no, kullanıcı adı, şifre, gizli bilgilerinizi gogole talk üzerinden yazmayınız. SAKIN!

 

eğer versiyon 1.0.0.105 kullanıyorsanız da login bilgileriniz de gidebiliyormuş. Aman diyim. https://plus.google.com/102190493246946072611/posts/YJVMtdFvrQk