Bu yazımda sizlere linux işletim sistemlerinde dosyalarınızı nasıl otomatik olarak sıkıştırıp aynı zamanda “zamanlanmış görev” ile yedekliyebiliceginiz hakkinda bilgi vericem.

Genelde bütün linux ile ugrasan kisiler sıkıstırma olarak .tar sıkıstırma yontemini kullanır. Bu sıkıstırma yöntemi ile dosyalarınızın boyutunu kücültebilir aynı zamanda birden fazla dosyayi tek bir sıkıştırılmış dosya haline getirebilirsiniz.

Linux işletim sistemlerinde zamanlanmış göreve verilen ad CRON JOB dur. Cron job ile linux işletim sisteminde belirliyeceginiz işlemlerin ne zaman yapılmasını istedigini planlayabilir , vakti geldiginde işlemi müdahaleniz olmadan otomatik olarak gercekleştirebilirsiniz.

Öncelikle ögrenmemiz gereken şey önemli dosyaları nasil otomatik olarak bash script ve cron job ile yedekleyeceğimiz.

TAR KULLANARAK YEDEKLEME

Belirlemiş olduğunuz dosyaları sıkıştırmak için aşagıdaki kolay kod u kullanabilirsiniz.

# tar -cvpzf   /YedeklenmesiniİstediginizDosya/SıkıstırılanDosyaİsmi.tar.gz /YedeginKaydedilicegiyer/DosyaYolu/path

Örnek vermek gerekirse ,  root klasöründe /imp-data oldugunu varsayalim , yapmak istedigim işlem bu klasör ve alt klasörlerini sıkıştırıp aynı zamanda sıkıştırılan dosyayi başka bir dizine kaydetmek olsun. Bunun için örnek kod aşagıdaki gibi olmalı

# tar -cvpzf /mybackupfolder/backup.tar.gz    /imp-data

backup-using-tarŞimdi bu komutu bash scriptinin içine yerleştirip işlemin otomatik cron job ile tanımladıgımız zamanda olmasını saglayabiliriz. Bunun için benim kullandıgım basit bir script bulunmakta bunu sizinle paylaşiyorum. öncelikle vi editör ile dosya oluşturup (# vi /backup.sh ) içine script içerigini kopyalamalısınız.

#!/bin/bash
#Purpose = Backup of Important Data
#Created on 17-1-2012
#Author = Mur@ Tatar
#Version 1.0
#START

TIME=`date +”%b-%d-%y”`             # Bu komut sıkıştırılan log dosyasına sıkıştırıldıgı anın tarihini atar
FILENAME=”backup-$TIME.tar.gz”      # Backup dosyasının ismini belirler
SRCDIR=”/imp-data”                  # Hangi dosyanın backuplanıcagı ile ilgili hedef göstercegin komut
DESDIR=”/mybackupfolder”            # Alınan backupların nereye kaydedilicegi ile ilgili backup
tar -cpzf $DESDIR/$FILENAME $SRCDIR

#END

Bu script imp-data klasörü içerisindeki ve alt klasörleri içerisindeki dosyaların tamamını sıkıştırıp mybackupfolder klasörüne taşir. Bu iki dosyayı oluşturmak için kullanmanız gereken komutlar aşagıdaki gibidir.

Kaynak dosya

# mkdir /imp-data

Hedef dosya

# mkdir /mybackupfolder

Cron Job ile yedek alma işlemini otomatige baglama

Şimdi cron job ile nasil bu işlemi belirlenen bir vakitte yapabilicegimizi görücez. Bu işlem için kullanmamız gereken komut “crontab -e” komutudur. Bu komutu ilk kullandıgınızda size windows işletim sistemlerinde oldugu gibi herzaman kullandıgınız text editor hangisi diye sorucaktir , text editoru 1 kere sectiginizde bu soru bir daha karşınıza cıkmıyıcak hep o sectiginiz text editor ile aynı komut vasitasiyla dosyaya erişim saglayabiliceksiniz.

crontab editor dosyasını acıyoruz

# crontab -e

Crontab daki format aşagıdaki gibidir. 6 aşamadan oluşur

Minutes    Hours     Day of Month    Month     Day of Week     Command

0 to 59    0 to 23               1 to 31         1 to 12          0 to 6            Shell Command

Örnek olarak pazartesi ve cumartesi günü yedekleme scriptimizin saat 1 de calışmasını istedigimize dair bir kural belirleyelim.

# M H DOM M DOW CMND
01 13 * * 1,6 /bin/bash /backup.sh

İşlem bu kadar. Bu işlemi yaptıgınızda yedekleme scriptiniz her pazartesi ve cumartesi günü saat 1 de calışıp yedekleme işlemini gercekleştiricektir. Umarım makelenin yardımı dokunur. Takıldıgınız noktada iletişim kısmından benimle irtibata gecebilirsiniz.