Çarşamba, Ekim 30, 2013

CentOS 5.5 ile DC yapmak


Sonunda CentOS 5.5 ile Domain kontroller yapmak makalesini bitirdim. Çok uzun süründü elimde garibim ancak dökümanı yazmak için yeniden kurulum yeninden ayar yaptım. Çalıştığından eminim hatta config dosyalarını da ekledim.

Herkese hayırlı olsun.

Not: Bu belge kaynak göstermek kaydıyla kullanılabilir.


CentOS 5.5 ile Domain kontrol yapmak [pdf dosya indirmek için tıklayın]

Ayar dosyaları [rar dosya indirmek için tıklayınız]

Pazartesi, Aralık 12, 2011

Bacula yedekleme sunucusu kurulumu

Bacula yedekleme yazılımını bir süredir araştırıyorum. Aslında son derece güzel, kullanışlı ve bir o kadar da yetenekli bir yazılım. Open Source olması da cabası. :) Tek sorun ben fazla Türkçe kaynak bulamadım. Bu sebeple tarihe not olsun diye bu dökümanı yazıyorum :)
Kendi denemelerimde disk üzerine, iSCSI üzerinden NAS'a ve LTO-2 kartuşa backup almayı başardım. Zaten disk üzerine backup almak en kolayıyken, NAS ve LTO kartuşta dikkat edilmesi gereken 1-2 nokta var. Onları da sonraki dökümanlarda (umarım) yazacağım.
Bacula Nedir?
Önce Bacula nedir ile başlayalım. Bacula network tabanlı, açık kaynaklı yedekleme yazılımıdır. (http://www.bacula.org) Çok geniş bir yelpazede farklı ortamlara yedek alabilir ve yedekten geri dönüş işlemi gerçekleştirilebilir. Kolay bir yönetim arayüzü olduğu gibi konsol üzerinden de komutlar aracılığı ile backup/restore prosedürü, aktif işler vs. yönetilebilir.
Bacula Nasıl Çalışır?
Network tabanlı olması sebebiyle sunucu/istemci mimarisi üzerine kurulmuştur. Bacula sunucusu yedek alma prosedürünü ve yedek alınan ortamı yönetir. Bacula Server, üzerindeki veya başka bir sunucudaki veritabanı üzerine backup kayıtlarını katalog olarak kaydeder. Bu sayede de dosya/gün/saat bazında geri dönüşü kolaylaştırır. Veritabanı olarak MySQL, PostgreSQL veya SQLLite kullanılabilir. Sunucu tarafında Linux, FreeBSD, Solaris ve Open Solaris kullanılabilir. (Windows sunucu çalışması devam ediyormuş)
İstemci kısmında sadece backup'ın aktarılacağı sunucuyla bağlantıyı sağlamak için küçük bir uygulama çalıştırılır. İstemci yazılımı daha geniş bir desteğe sahip. Linux'tan, Windows'a, Mac'a kadar hemen hemen tüm işletim sistemlerinin yedeğini bacula sayesinde alınabilir. Sunucu ve istemci tarafına uyumlu işletim sistemleri için daha ayrıntılı listeyi bu linkte inceleyebilirsiniz: http://www.bacula.org/en/dev-manual/main/main/Supported_Operating_Systems.html
Bacula'yı Anlayalım
Bacula için çalışan temel 3 servis vardır. Bunlar;
Bacula Director Deamon (bacula-dir): Bacula sunucu üzerinde çalışan, yedekleme yapısını, zamanlamasını, nereye yedek alınacağı, hangi istemcilerden yedek alınacağı, istemcilerin kimlik denetlemeleri gibi aslında tüm backup sürecini yöneten servistir. 9101 portundan çalışır.
Bacula Storage Deamon (bacula-sd): Bacula'nın yedeklerin alınacağı ortamını düzenleyen servisidir. Bu servis sayesinde directory ile storage farklı sunuculardan hizmet verebilir. 9102 portunu kullanır.
Bacula File Deamon (bacula-fd): İstemci tarafında çalışan servisidir. Director, istemciye (linux, windows, mac veya diğerleri) bu servis ile ulaşır. 9103 portunu kullanır. (Olası firewall v.s. ayarlarında düzenlenmelidir.)
Ayrıca 2 tane kavramdan bahsetmek gerek;
Bacula Catalog (Database): Yedekleme işleminin kayıt altına alındığı veritabanıdır. Katalogta, kayıt alınan dosyalar, dosyaların yetkileri vs. bilgileri, volume'lerin (doğru sözcüğü bulamadım malesef) kullanım oranları, çalışan işlemler gibi tüm bilgiler kaydedilir.
Bacula Console: Bacula Director ile bağlantıyı sağlayan uygulamadır. Konsol tabanlı veya QT tabanlı grafik arayüzü veya web tabanlı arayüzü vardır.

Aşağıdaki şema bu kavramları daha ayrıntılı anlamak için son derece güzel;
Bacula Kuralım

Ben Bacula kurulumun Centos 5.7 üzerine yaptım. Bu sebeple de rpm source derleme yöntemi daha kolay geldi. Sonrasında source üzerinden yaptığım rpm'leri kolayca kurarak sistemi hazır hale getirdim. Aslında depolarda da bulunabiliyor ancak nedense ben depodan kurduğumda çalışmadı. Çok da araştıramadım itiraf ediyorum. :)

Elimizde standart kurulumuş bir CentOS 5.x olduğunu düşünüyorum. İlk olarak ihtiyacımız olacak bazı paketleri ekleyelim;

yum install autoconf automake e2fsprogs-devel gcc-c++ glibc-devel glibc-headers kernel-devel krb5-devel libacl-devel libgomp libstdc++-devel libtermcap-devel libxml2-devel lsscsi m4 make mt-st mysql mysql-devel mysql-server ncurses ncurses-devel openssl-devel perl-DBI php php-gettext php-pear qt4 qt4-devel redhat-rpm-config rpm-build rpm-devel rpm-libs screen zlib-devel


bu paketler kurulduktan sonra epel reposunu ekliyoruz;
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
* burada güncel ve uygun paketi ilgili linki düzenleyerek yazın. Örneğin 64 bit içn i386 yerine x86_64 gibi.

Ve kalan diğer paketleri kuruyoruz;
yum install qwt qwt-devel wxGTK
Sıra geldi rpm'leri hazırlamaya. Bunun için önce klasörümüzü hazırlayalım; (Bu işlemleri root değilken de yapabiliriz)
cp -r /usr/src/redhat ~/rpm_build
Şimdi bacula'nın src.rpm dosyalarının güncel halini indirelim; (Ben şu adresten 5.0.3 versiyonu indirdim: http://sourceforge.net/projects/bacula/files/rpms/5.0.3/)
şimdilik ihtiyacımız olan dosyalar; bacula-bat-5.0.3-2.src.rpm, bacula-mtx-5.0.3-1.src.rpm, bacula-docs-5.0.3-1.src.rpm, bacula-5.0.3-1.src.rpm.
Gelelim indirdiğimiz source rpm paketlerinden derlenmiş rpm paketleri yapmaya.
rpmbuild --rebuild --define "build_centos5 1" --define "build_mysql 1" --define "build_bat 1" --define "build_wxconsole 1" bacula-5.0.3-1.src.rpm
rpmbuild --rebuild --define "build_centos5 1" --define "build_mysql 1" --define "build_bat 1" --define "build_wxconsole 1"bacula-bat-5.0.3-2.src.rpm
rpmbuild --rebuild --define "build_centos5 1" --define "build_mysql 1" --define "build_bat 1" --define "build_wxconsole 1" bacula-mtx-5.0.3-1.src.rpm
rpmbuild --rebuild --define "build_centos5 1" --define "build_mysql 1" --define "build_bat 1" --define "build_wxconsole 1" bacula-docs-5.0.3-1.src.rpm
Ve paketlerimiz hazır. Gelelim kurmaya. Bunu root olarak yapıyoruz. Önce rpm_build/RPMS/ (veya i386) klasörüne gidiyoruz. Hazırladığımız paketler burada. Kuruluma başlayalım;
rpm -Uvh bacula-libs-5.0.3-1.rpm
rpm -Uvh bacula-mysql-5.0.3-1.rpm
rpm -Uvh bacula-bat-5.0.3-1.rpm
Geldik libbac-5.X.Y.so dosyasına yetki vermeye.
chown bacula:bacula /usr/libXX/libbac-5.0.1.so
* Burada 64 bit için /usr/lib64 klasörü, 32 bit için /usr/lib klasörü kullanılıyor.

Mysql Ayarları
Kurulum tamamlandı. Artık son aşama veritabanı ayarlarını yapmak. Ben mysql kullandığım için mysql ayarlarını veriyorum.
Önce mysql üzerinde bacula kullanıcısının şifresini belirleyelim;
#mysql -u root -p
mysql> set password for 'bacula'@'localhost' = password ('BaculaŞifresi');
msqyl> quit
Yetkilerin verilmesi, database'in oluşturulması, tabloların oluşturulması için zaten script hazır. Önce /usr/lib/bacula klasörüne gidip bu scriptleri sırasıyla çalıştırmak yeterli;

cd /usr/lib/bacula/
./grant_mysql_privileges
./create_mysql_database
./make_mysql_tables
Şimdi database'imizi bacula'ya tanıtalım. /etc/bacula/bacula-dir dosyasında aşağıdaki satırı düzenliyoruz;
Catalog {
Name = MyCatalog
# dbdriver = "dbi:mysql"; dbaddress = 127.0.0.1; dbport =
dbname = "bacula"; dbuser = "bacula"; dbpassword = "BaculaŞifresi"
}
Artık servisleri çalıştırma zamanı;
service bacula-sd start
service bacula-dir start
service bacula-fd start
Bacula çalıştı. Şimdi daha da önemli olan ayarlara geldi sıra. O da 2. belgede olacak.

*** Ben bacula-dir servisini çalıştırırken bazı hatalar aldım. Sonrasında araştırmalarım sonucu (nedense) /etc/bacula/bacula-dir dosyasındaki I (Büyük I) harfleri ile problemi olduğunu gördüm. Örneğin DIRPort yazan satırları DirPort olarak değiştirdiğimde problemim çözüldü.

Kaynaklar;

Salı, Aralık 21, 2010

Linux'ta ayrıntılı donanım raporu

Bu yazıyı aslında "acaba ne kullanıyorum?" başlıklı makale altına yazacaktım. Ancak o kadar sevdim ki, "bu konu yeni bir başlığı hak ediyor" dedim.
Aslında konunun özü şu; elimizde bir sunucu var (tabi ki linux) çalışmakta, kapatamıyoruz ve ayrıntılı donanım bilgisine ihtiyacımız var. Ama öyle disk kapasitesi, ram kapasitesi filan bizi kesmiyor. Daha çok bilgi lazım. Anakart bilgisi, boş ram slotları vs.
Aslında pci için çok güzel bir komut var;
#lspci: Bize tüm pci portu üzerindeki donanım hakkında bilgi veriyor.
#lsusb: komutu da aynısının usb versiyonu. Ancak bir de şunu ekliyoruz; yanına: dmidecode.

Komutun kullanımı da çok kolay sadece;

#dmidecode : tüm raporu önümüze seriyor. Parametreler kullanarak özelleştirmek mümkün; Örneğin BIOS parametresi bios bilgilerini döküyor;

# dmidecode --type BIOS

[root@asterix ~]# dmidecode --type BIOS
# dmidecode 2.10
SMBIOS 2.3 present.

Handle 0x0000, DMI type 0, 19 bytes
BIOS Information
Vendor: IBM
Version: -[NRE122AUS-1.02]-
Release Date: 11/23/2004
Address: 0xF0980
Runtime Size: 63104 bytes
ROM Size: 4096 kB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
5.25"/360 kB floppy services are supported (int 13h)
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 kB floppy services are supported (int 13h)
3.5"/2.88 MB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
I2O boot is supported
LS-120 boot is supported

Handle 0x001F, DMI type 13, 22 bytes
BIOS Language Information
Installable Languages: 1
en|US|iso8859-1
Currently Installed Language: en|US|iso8859-1


Ayrıca farklı parametrelerle de sonuc ulaşılabilir;

[root@asterix ~]# dmidecode -t 1
# dmidecode 2.10
SMBIOS 2.3 present.

Handle 0x0001, DMI type 1, 25 bytes
System Information
Manufacturer: IBM
Product Name: eserver xSeries 236 -[88412AG]-
Version: Not Specified
Serial Number: KDTYX47
UUID: 32037214-041E-B211-89A9-A080DAF98344
Wake-up Type: Power Switch

İşte parametrelerin listesi;


TypeInformation
0
1System
2Base Board
3Chassis
4Processor
5Memory Controller
6Memory Module
7Cache
8Port Connector
9System Slots
10On Board Devices
11OEM Strings
12System Configuration Options
13BIOS Language
14Group Associations
15System Event Log
16Physical Memory Array
17Memory Device
1832-bit Memory Error
19Memory Array Mapped Address
20Memory Device Mapped Address
21Built-in Pointing Device
22Portable Battery
23System Reset
24Hardware Security
25System Power Controls
26Voltage Probe
27Cooling Device
28Temperature Probe
29Electrical Current Probe
30Out-of-band Remote Access
31Boot Integrity Services
32System Boot
3364-bit Memory Error
34Management Device
35Management Device Component
36Management Device Threshold Data
37Memory Channel
38IPMI Device
39Power Supply

Ayrtıntılı bilgi için kaynağım;

Salı, Kasım 09, 2010

Linux'ta dosya içindeki metne göre arayıp silmek

for dosya in $(find /hangi/klasorde/aranacaksa -type f -name "*" | xargs grep -l 'Aranan metin');

do

echo $dosya
rm $dosya

done
Bir klasörde binlerce dosya var. (Bir mail bombasının ardından birbirine karışmış gerçek mailler ile bomba mailler örneğin :) ) Aralarından içindeki bir metne göre ayıklayıp o dosyaları silmek istiyoruz. Buyrun size basit bir script.

find /hangi/klasorde/aranacaksa -type f -name "*" | xargs grep -l 'Aranan metin'

find komutu ile hangi klasörde aradığımızı, -type paramatresi ile f (file) dosya olduğunu, ayrıca dosya adı için de * ile tüm dosyaları belirttik. (* terine *.php gibi sadece belli unantılar vs. seçilebilir. Arama işlemini kısaltır bu sayede) Sonra xargs ile tüm dosya içeriklerini tek tek kontrol ettik ki içindeki metini grep ile ayıklayalım.
Sonrası dosyaları tek tek döngüye alıp sırayla silmek. Bir de silinen dosyaları ekranda görüyoruz ki yanlışlık olmasın :)

Salı, Ağustos 10, 2010

ServerGuide v8.31 Windows tabanlı olmuş

IBM xServer'ların kurulumunu yapabilmek için kullanılan ServerGuide yazılımı yeni versiyonu v8.31 Windows tabanlı olmuş. Eski sürümler "Linux loading" diyerek açılırken bu sefer "Windows dosyaları kopyalanıyor" diye başlıyor ve sadece Windows Server 2003 veya Windows Server 2008 kurulumunda kulanılabiliyor. Gerçi içindeki ServerRAID ile RAID ayarlarınızı yapıp sonra linux'a devam edebilirsiniz. Çoğu linux dağıtımı zaten IBM donanımı sorunsuz tanıyor.
(Ayrıca bkz: IBM xServer'a işletim sistemi kurmak)

Cuma, Mart 19, 2010

DAR Scriptler

Full Sistem Yedeği Almak için DAR Script:

#!/bin/bash

###########################
# Olusturulma tarihi: 19 Mart 2010 .
# Emre KARAOGLU ~ Sistem yöneticisi
###########################

emailRcpt="mailiniz@mail.com"

# Mail ile gönderilecek yedek raporu dosyamızı oluşturuyoruz.
/bin/touch /tmp/dar_backup.msj

FILENAME=`date +%d.%b.%Y.%A`.fullbackup

BASLA=`date`
STARTT=`date +%s`

/bin/echo -e "#### Full sistem backup islemi #### " > /tmp/dar_backup.msj

#Harici diskimizi kullanacağımız alanı umount/mount işlemi hazırlıyoruz.
#Bazı harici diskler uyku moduna girdikleri için uyandırılamıyabiliyor.
#Örneğin Seagate'in bazı modelleri :)

umount /mnt/bckdsk
mount /dev/sdc1 /mnt/bckdsk

/bin/echo -e "#### umount/mount islemi yapildi #### " >> /tmp/dar_backup.msj

dar -c /mnt/bckdsk/FULL_SISTEM_BCK/FILESERVER/FULL.SISTEM.BACKUP -R / -P proc -P dev -P mnt -P media -P tmp -D -v -y9

ENDT=`date +%s`
BITIR=`date`

ELAPSEDT=$((ENDT-STARTT))


/bin/echo -e "\n\n *** Yedek alma baslangic: $BASLA ... *** \n" >> /tmp/dar_backup.msj
/bin/echo -e "\n\n *** Yedek alma bitis: $BITIR ... *** \n" >> /tmp/dar_backup.msj
/bin/echo -e "\n\n *** Yedek alma islemi toplam: $ELAPSEDT saniye surdu... *** \n" >> /tmp/dar_backup.msj

/bin/cat /tmp/dar_backup.msj | /bin/mail -s " FILE Server Backup Raporu" $emailRcpt

exit 0

Incremental Backup için DAR Script

#!/bin/bash

###########################
# Olusturulma tarihi: 19 Mart 2010
# Emre KARAOGLU ~ Sistem yöneticisi
###########################

emailRcpt="mailiniz@mail.com"

DATE=`date +%d`
Month=`date +%b`
Year=`date +%Y`

FILENAME=$DATE.$Month.$Year.incbackup


/bin/touch /tmp/dar_inc_backup.msj

YESTERDAY=`expr $DATE - 1`
OLDFILENAME=$YESTERDAY.$Month.$Year.incbackup

BASLA=`date`
STARTT=`date +%s`

/bin/echo -e "#### Sistem Inc. backup islemi #### " > /tmp/dar_inc_backup.msj

umount /mnt/bckdsk
mount /dev/sdc1 /mnt/bckdsk

/bin/echo -e "#### umount/mount islemi yapildi #### " >> /tmp/dar_inc_backup.msj

dar -c /mnt/bckdsk/INC_SYSTEM_BCK/FILESERVER/$FILENAME -A /mnt/bckdsk/INC_SYSTEM_BCK/FILESERVER/$OLDFILENAME -R / -P proc -P dev -P mnt -P media -P tmp -D -v -y9


ENDT=`date +%s`
BITIR=`date`

ELAPSEDT=$((ENDT-STARTT))


/bin/echo -e "\n\n *** Yedek alma baslangic: $BASLA ... *** \n" >> /tmp/dar_inc_backup.msj
/bin/echo -e "\n\n *** Yedek alma bitis: $BITIR ... *** \n" >> /tmp/dar_inc_backup.msj
/bin/echo -e "\n\n *** Yedek alma islemi toplam: $ELAPSEDT saniye surdu... *** \n" >> /tmp/dar_inc_backup.msj

/bin/cat /tmp/dar_inc_backup.msj | /bin/mail -s " FILE Server Fark Backup Raporu" $emailRcpt

exit 0

Differantial Backup için DAR Scripti


#!/bin/bash

###########################
# Olusturulma tarihi: 19 Mart 2010
# Emre KARAOGLU ~ Sistem yöneticisi
###########################

emailRcpt="maliniz@mail.com"

DATE=`date +%d`
Month=`date +%b`
Year=`date +%Y`


FILENAME=$DATE.$Month.$Year.incbackup


/bin/touch /tmp/dar_inc_backup.msj

YESTERDAY=`expr $DATE - 1`
OLDFILENAME=$YESTERDAY.$Month.$Year.incbackup


BASLA=`date`
STARTT=`date +%s`

/bin/echo -e "#### Sistem Dif. backup islemi #### " > /tmp/dar_inc_backup.msj

umount /mnt/bckdsk
mount /dev/sdc1 /mnt/bckdsk

/bin/echo -e "#### umount/mount islemi yapildi #### " >> /tmp/dar_inc_backup.msj

dar -c /mnt/bckdsk/DIF_SISTEM_BCK/FILESERVER/$FILENAME -A /mnt/bckdsk/FULL_SISTEM_BCK/FILESERVER/FULL.SISTEM.BACKUP -R / -P proc -P dev -P mnt -P media -P tmp -D -v -y9


ENDT=`date +%s`
BITIR=`date`

ELAPSEDT=$((ENDT-STARTT))


/bin/echo -e "\n\n *** Yedek alma baslangic: $BASLA ... *** \n" >> /tmp/dar_inc_backup.msj
/bin/echo -e "\n\n *** Yedek alma bitis: $BITIR ... *** \n" >> /tmp/dar_inc_backup.msj
/bin/echo -e "\n\n *** Yedek alma islemi toplam: $ELAPSEDT saniye surdu... *** \n" >> /tmp/dar_inc_backup.msj

/bin/cat /tmp/dar_inc_backup.msj | /bin/mail -s " FILE Server Fark Backup Raporu" $emailRcpt

exit 0
Bu Scriptler sadece örnek amaçlıdır. Fikir vermesini düşündüm sadece. Çok daha geliştirilebilir. Kullanımda dikkat edilmesi gereken noktalardan biri de, Eğer Inc. Backup kullanılması tercih edilecekse Full Backup alındıktan sonra 1 kez Dif backup alınmalı ki 1 önceki güne ait bir fark dosyası oluşturulabilmiş olsun.
İyi eğlenceler.

Çarşamba, Mart 17, 2010

DAR (Disk Arshive)

Yedekleme başlı başna bir iştir aslında. Hatta başlı başına bir sorundur da denebilir. Pek çok çözüm var yedekleme için. rsync, tar gibi programlar en çok kullanılanları. Fakat istediğim şey bir backup dosyasını kendine referans alması ve ona göre sadece değişen/yeni eklenen dosyaların yedeğini alması. (rsync bu sorunu çözüyor ama hep aynı klasöre aldığı için dosyaların önceki versiyonlarına ulaşılamıyor. En azından ben çözümünü bulamadım rsync ile :) )
Her neyse bu konuda ciddi anlamda ihtiyaç görecek olan dar (Disk Archive) uygulaması. (http://dar.linux.free.fr/)
Yedeklemeden bahserken bir kaç temel konuyu bahsetmezsek olmaz.

Full Backup (Tam Yedek):
Sistemin (veya belirtilen klasörün) tamamının yedeği

Incremental Backup (Artımlı yedek):
Tam yedeğin ardından, sadece değişen, eklenen dosyalarının yedeğinin alınması işlemi. Artımlı yedekte bir önceki artımlı yedek referans alınarak yapıldığı için dosya boyutları küçüktür. Fakat artımlı yedeklerin geri dönüşünde tüm artımlı yedeklerden tek tek dönülmelidir.
Pazartesi --> Full
Salı --> Inc (pazartesiden beri değişenler)
Çarş --> Inc (Salıdan beri değişenler)
Perş --> Inc (Çarşambadan beri değişenler)
Cuma --> Inc (Perşembeden beri değişenler)

Differantial Backup (Fark Yedek): Fark yedekler de aslında artımlı yedek gibidir. Sadece değişen/eklenen dosyaların yedeğini alır. Fakat her seferinde kendisine tam yedeği referans aldığından bir önceki fark yedek içeriği bir sonraki fark yedek dosyasında da vardır. Dosya boyutu büyüktür. Fakat sistem geri dönüşü çok kolaydır. Sadece tam yedek ve en son fark yedek yeterli olacaktır.
Pazartesi --> Full
Salı --> Dif (pazartesiden beri değişenler)
Çarş --> Dif (pazartesiden beri değişenler)
Perş --> Dif (pazartesiden beri değişenler)
Cuma --> Dif (pazartesiden beri değişenler)

Şimdi gelelim uygulamamıza. DAR uygulamasını apt veya yum aracılığı veya sitesinden indirerek kuruyoruz. (Windows versiyonu da olduğunu belirtmem gerek. Denemedim ama)

DAR ile Yedek Almak:
dar -c yedekdosyasi -R /yedek_alinacak_klasor

BU komut ile en basit kullanımıyla dar sayesinde yedek almış oluyoruz. yedekdosyasi.1.dar adında bir dosya oluşturacak.
Dar için tabi ki bir çok parametre bulunuyor.
-P yok_sayilacak_klasor : Bu parametre ile yedek_alincak_klasör'deki belirttiğimiz klasörler yedeklenmeyecektir
-s 700 MB: Her bir yedek dosyasını 700 MB'lık paketler haline getirir.
-X "*.log" : Yedeklenmesi istenmeyen dosyalar belirtilir.
-y[seviye] : Yedek dosyasında bzip ile sıkıştırma yapar. [seviye] kısmına 0-9 arası bir sayı gelir.


Örnek:

dar -c full_sistem_yedek -R / -P opt -P tmp -P mnt -X "*.log" -D -v -y9

Bu örnekte / dizininin yedeği alınıyor. opt, tmp, mnt dizinleri yedeklenmiyor, fakat yedek dosyasının içine boşklasör olarak oluşturuluyor (-D), ekran çıktısı eş zamanlı veriliyor (-v) ayrıca bzip sıkıştırması 9. seviyede yapılıyor (y9)

Dar ile Dosya Kurtarmak:

Dar ile yedek alınan bir dosyadan geri dönüş için:
dar -R kurtarilan_dosyaların_koyulacagı_dizin -x yedek_dosyası -g kurtarmak_istediginiz_dosya
Bir örnek verelim:
dar -R /root -x full_sistem_yedek -v -g /root/ozel.dosya.txt
Burada root dizini altına, ozel.dosya.txt dosyası aktarılacak. Dikkat edeceğimiz nokta, -x full_sistem_yedek parametresinde 1.dar gibi sayı ve uzantı yazmıyoruz. Çünkü aradığımız dosya hangi parçada bilmiyoruz. Dar kendisi araştırıp hangi parçada ise onu kullanıyor.

Dar ile Fark Yedek Almak
İşte dar'ı çok sevmeme sebep olan özelliği. Fark yedekler. Fark yedek kullanımı:
dar -c fark_yedek_dosyası -A full_yedek_dosyası -R yedeklenecek_dizin
Örnek:
dar -c fark_yedek -A full_sistem_yedek -R / -P opt -P tmp -v -D -y9
Bu örnekte, full_sistem_yedek dosyasına bakılarak sadece değişen/eklenen dosyalar fark_yedek dosyası içine kaydedilecek.

Dar hakkında daha fazla bilgi için sitesini ziyaret edin. MAN sevenler için (http://dar.linux.free.fr/doc/man/dar.html)

Bunlarla ilgili bir kaç tane de bash script yazdım. Onları da bir sonraki yazıda paylaşayım :)