11.4. Basit yedekleme

Basit yedekleme şeması her şeyin bir seferde yedeklenmesi ve daha sonra önceki yedekleme işleminden beri meydana gelmiş olan değişikliklerin yedeklenmesidir. Birinci yedekleme tam yedek, sonrakiler fark yedekleri olarak adlandırılır. Tam yedekler, fark yedeklerinden daha fazla işçilik gerektirir, çünkü; teybe yazılması gereken daha çok bilgi vardır ve genellikle tek teybe sığmazlar. Fark yedeklerinden geri yüklemek tam yedeklerden geri yüklemekten daha çok zamana mal olur. Geri yükleme eniyilenebilir, bu sayede daima bir önceki tam yedeklemeden itibaren olan her şeyleri yedeklersiniz. Bu yolla yedekleme biraz daha fazla iş ister fakat geri yükleme sırasında bir tam yedek ve bir fark yedeğinden daha fazlasını yüklemek gerekmez.

Şayet her gün yedek almak istiyor ve altı adet bandınız varsa; birinci bandı birinci tam yedek için ayırın (diyelim ki Cuma günü), 2 ile 5 arasındaki bantları her bir gün için (pazartesi-Perşembe arası) fark yedeklerinde ve altıncı banda yeni bir tam yedekleme (ikinci Cuma günü) yapın. Ve daha sonra 2-5 arasındaki bantları fark yedeklemesi için kullanmaya devam edin. Tam yedekleme yaparken her hangi bir şey olmasın diye, yeni bir tam yedekleme bandınız olana kadar 1. bant üzerine yazmayabilirsiniz. Altıncı banda tam yedekleme yaptıktan sonra, birinci tam yedekleme bandını başka bir yerlerde saklayabilirsiniz ve bu sayede yangında bütün yedek bantlarınız yansa bile geriye, en azından bir şeyler kalmış olur.

Şayet altı banttan fazlasına sahipseniz, diğerlerini tam yedekler için kullanabilirsiniz. Her yeni tam yedek yaptığınızda, daha eski olan bir bandı kullanırsınız. Bu yolla, çeşitli geçmiş haftalara ait kayıtlarınız olur ve şayet şu an silinmiş eski bir bilgiye ihtiyacınız olursa bunları kullanabilirsiniz.

11.4.1. tar ile yedekleme

Bir tam yedekleme tar ile kolayca yapılabilir:

# tar --create --file /dev/ftape /usr/src
tar: Üye isimlerinin sonundaki / kaldırılıyor
#

Yukarıda ki örnek tar'ın GNU sürümünü ve onun uzun seçenek isimlerini kullanmaktadır. tar'ın geleneksel sürümü sadece tek harflerden oluşan seçenekleri kullanır. GNU sürümü bir teypten daha fazlasını isteyen yedeklemeleri yapabilir ve çok uzun dosya yolu tanımlamalarını da kabul edebilir, fakat bütün geleneksel sürümler bu tür şeyleri yapamaz. Linux sadece GNU tar sürümünü kullanın.

Şayet yedekleriniz bir teybe sığmadıysa --multi-volume (-M) seçeneğini kullanmak zorundasınız:

# tar -cMf /dev/fd0u1440 /usr/src
tar: Üye isimlerinin sonundaki / kaldırılıyor
#2. bölümü /dev/fd0u1440 için hazırdıktan sonra return tuşuna basınız:
#

Bir yedekleme yaptıktan sonra düzgün çalışıp çalışmadığını anlamak için --compare (-d) seçeneği kullanılmalıdır:

# tar --compare --verbose -f /dev/ftape
usr/src/
usr/src/linux
usr/src/linux-1.2.10-includes/
....
#

Bir yedekleme sınamasını hata vermesi, orijinal bilgileri kaybedip yedeklerinizin çalışmadığı uyarısını almayacağınız anlamına gelir.

Bir fark yedeklemesi tar'ın --newer (-N) seçeneği ile yapılır:

# tar --create --newer '8 Sep 1995' --file /dev/ftape /usr/src --verbose
tar: Üye isimlerinin sonundaki / kaldırılıyor
usr/src/
usr/src/linux-1.2.10-includes/
usr/src/linux-1.2.10-includes/include/
usr/src/linux-1.2.10-includes/include/linux/
usr/src/linux-1.2.10-includes/include/linux/modules/
usr/src/linux-1.2.10-includes/include/asm-generic/
usr/src/linux-1.2.10-includes/include/asm-i386/
usr/src/linux-1.2.10-includes/include/asm-mips/
usr/src/linux-1.2.10-includes/include/asm-alpha/
usr/src/linux-1.2.10-includes/include/asm-m68k/
usr/src/linux-1.2.10-includes/include/asm-sparc/
usr/src/patch-1.2.11.gz
#

Şansızlık eseri, tar bir dosyanın düğüm bilgisinin değiştiğini algılayamaz, örneğin: değişmiş izin bitlerini veya isminin ne zaman değiştiğini. Bu find kullanılarak ve mevcut dosya sistemindeki dosyaların durumu ile daha önceki yedeklemenin karşılaştırılması şeklinde yapılabilir. Bunu yapacak betikler ve uygulamalar Linux FTP sitelerinde bulunabilir.

11.4.2. tar ile dosyaların geri yüklenmesi

--extract (-x) seçeneği ile tar dosyaları geri alır:

# tar --extract --same-permissions --verbose --file /dev/fd0u1440
usr/src/
usr/src/linux
usr/src/linux-1.2.10-includes/
usr/src/linux-1.2.10-includes/include/
usr/src/linux-1.2.10-includes/include/linux/
usr/src/linux-1.2.10-includes/include/linux/hdreg.h
usr/src/linux-1.2.10-includes/include/linux/kernel.h
...
#

Komut satırında isimleri belirterek belirli dosya veya klasörleri ve onların alt klasörleri ve dosyalarını geri yükleyebilirsiniz:

# tar xpvf /dev/fd0u1440 usr/src/linux-1.2.10-includes/include/linux/hdreg.h
usr/src/linux-1.2.10-includes/include/linux/hdreg.h
#

Yedeklenmiş bilgiler içinde hangi dosyaların olduğunu görmek için --list (-t) seçeneğini kullanın:

# tar --list --file /dev/fd0u1440
usr/src/
usr/src/linux
usr/src/linux-1.2.10-includes/
usr/src/linux-1.2.10-includes/include/
usr/src/linux-1.2.10-includes/include/linux/
usr/src/linux-1.2.10-includes/include/linux/hdreg.h
usr/src/linux-1.2.10-includes/include/linux/kernel.h
...
#

Unutmayın ki tar yedek isimlerini ardışık olarak okur ve bu yüzden biraz yavaştır. Bununla birlikte, teyp sürücü veya sıralı erişim sağlayan aygıtlar ile rasgele erişimli veritabanı tekniklerini kullanmak mümkün değildir.

tar silinmiş dosyalar için uyarmaz. Bir tam ve fark yedeğinden bir dosya sistemini geri yüklemeniz gerekiyorsa, iki yedekleme arasında bir dosyayı sildiyseniz, yükleme sonrası bu dosya tekrar ortaya çıkacaktır. Şayet bu dosya sistemde bulunmaması gereken hassas bilgiler içeriyorsa, bu büyük bir sorun yaratabilir.