Ubuntu 12.04 VPS Üzerinde BackupPC ile Bir Yedekleme Sunucusu Oluşturma: Kapsamlı Bir Rehber
Giriş
Günümüzün dijital dünyasında veri, işletmeler ve bireyler için en değerli varlıklardan biridir. Donanım arızaları, yazılım hataları, insan kaynaklı hatalar, siber saldırılar veya doğal afetler gibi beklenmedik durumlar, veri kaybına yol açabilir ve ciddi sonuçlar doğurabilir. Bu tür felaket senaryolarına karşı en etkili önlem, düzenli ve güvenilir bir yedekleme stratejisi uygulamaktır. Yedekleme, verilerinizi güvenli bir konuma kopyalayarak olası bir veri kaybı durumunda geri yükleyebilmenizi sağlar.
Bu kapsamlı rehberde, açık kaynaklı ve güçlü bir yedekleme çözümü olan BackupPC’yi kullanarak Ubuntu 12.04 işletim sistemine sahip bir Sanal Özel Sunucu (VPS) üzerinde nasıl bir yedekleme sunucusu oluşturacağınızı adım adım anlatacağız. Ubuntu 12.04 eski bir sürüm olmasına rağmen, bu rehber, belirtilen ortamda BackupPC’nin temel kurulum ve yapılandırma prensiplerini anlamak isteyen kullanıcılar için tasarlanmıştır. BackupPC, istemci tarafında herhangi bir özel yazılıma ihtiyaç duymadan (clientless) SSH ve rsync gibi standart protokoller aracılığıyla yedekleme yapabilmesi, veri tekilleştirme (deduplication) yeteneği ve web tabanlı kullanıcı arayüzü sayesinde oldukça popüler bir çözümdür. Bir VPS üzerinde yedekleme sunucusu kurmak, yedeklerinizi ana sunucunuzdan fiziksel olarak ayrı bir konumda tutarak ekstra bir güvenlik katmanı sağlar.
BackupPC’nin Temelleri
BackupPC, ağ üzerinden birçok bilgisayarı yedeklemek için tasarlanmış, yüksek performanslı, açık kaynaklı bir yedekleme sistemidir. Linux, Windows ve macOS istemcilerini destekler ve yedekleme için rsync, tar veya smb gibi standart protokolleri kullanır.
Nasıl Çalışır?
BackupPC’nin çalışma prensibi oldukça basittir ancak oldukça etkilidir:
- Sunucu-İstemci Mimarisi: BackupPC, merkezi bir sunucu üzerinde çalışır ve yedeklenecek istemcilerle ağ üzerinden iletişim kurar. İstemci tarafında özel bir BackupPC yazılımına gerek yoktur; sadece SSH sunucusu ve rsync kurulu olması yeterlidir.
- Rsync veya Tar Kullanımı: Çoğu Linux/Unix benzeri sistemde rsync veya tar komutları kullanılarak yedekleme yapılır. Windows istemcileri için rsync veya smbclient kullanılabilir.
- Veri Tekilleştirme (Deduplication): BackupPC’nin en güçlü özelliklerinden biri, veri tekilleştirmesidir. Yedeklenen dosyaların kopyalarını depolamak yerine, aynı dosyaların veya dosya parçalarının yalnızca bir kopyasını saklar ve diğerlerini sabit bağlantılar (hard links) aracılığıyla işaret eder. Bu, disk alanından önemli ölçüde tasarruf sağlar.
- Tam (Full) ve Artımlı (Incremental) Yedeklemeler: BackupPC, periyodik tam yedeklemeler yapar ve bu tam yedeklemeler arasında yalnızca değişen dosyaları yedekleyen artımlı yedeklemeler gerçekleştirir. Bu artımlı yedeklemeler, bir önceki tam veya artımlı yedeğe göre yapılan değişiklikleri içerir. Geri yükleme sırasında, BackupPC tüm bu yedekleme zincirini birleştirerek istenen zaman noktasındaki veriyi sunar.
Özellikleri
BackupPC’yi cazip kılan başlıca özellikler şunlardır:
- Ağ Üzerinden Yedekleme: SSH/rsync, SMB veya tar üzerinden çalışır.
- Clientless Mimari: İstemcilerde özel bir yazılım yüklemeye gerek yoktur, bu da dağıtımı ve yönetimi kolaylaştırır.
- Akıllı Veri Tekilleştirme: Dosya düzeyinde ve blok düzeyinde tekilleştirme ile depolama alanından büyük tasarruf.
- Web Tabanlı Arayüz: Yedeklemeleri yapılandırmak, izlemek ve geri yüklemek için sezgisel bir web arayüzü sunar.
- Esnek Yedekleme Politikaları: Tam ve artımlı yedeklemeler için ayrı ayrı saklama süreleri ve zamanlamalar ayarlanabilir.
- Kullanıcı Dostu Geri Yükleme: Web arayüzü üzerinden kolayca dosya ve dizin geri yükleme imkanı.
- E-posta Bildirimleri: Yedekleme durumları, hatalar veya tamamlanmalar hakkında yöneticilere e-posta bildirimleri gönderebilir.
- Açık Kaynak: Ücretsizdir ve topluluk desteği güçlüdür.
Avantajları ve Dezavantajları
Avantajları:
- Düşük maliyetli (açık kaynak).
- Etkili disk alanı kullanımı (veri tekilleştirme).
- Kolay kurulum ve yönetim (özellikle istemciler için).
- Esnek ve güçlü yedekleme politikaları.
- Çoklu platform desteği.
Dezavantajları:
- Büyük dosya sistemleri için ilk tam yedekleme zaman alıcı olabilir.
- Yapılandırma dosyaları (Perl tabanlı) ilk başta karmaşık gelebilir.
- Geri yükleme performansı, yedekleme zincirinin uzunluğuna bağlı olarak değişebilir.
- Anlık görüntü (snapshot) yeteneği yoktur; yedekleme sırasında dosya değişirse tutarsızlıklar olabilir (bu genellikle rsync’in çalışma şekliyle ilgilidir).
Sistem Gereksinimleri ve Ön Hazırlıklar
BackupPC sunucusunu Ubuntu 12.04 VPS üzerine kurmadan önce bazı temel gereksinimleri karşılamamız ve ön hazırlıkları yapmamız gerekiyor.
Ubuntu 12.04 VPS
Bu rehber, Ubuntu 12.04 (Precise Pangolin) üzerinde çalışmak üzere tasarlanmıştır. VPS sağlayıcınızdan Ubuntu 12.04 yüklü bir sunucu temin etmeniz gerekmektedir.
- CPU ve RAM: BackupPC’nin kendisi çok fazla kaynak tüketmez, ancak yedeklenecek veri miktarı ve eş zamanlı istemci sayısı arttıkça daha fazla CPU ve RAM gerekebilir. Başlangıç için 1 vCPU ve 1GB RAM yeterli olabilir.
- Disk Alanı: En kritik gereksinim disk alanıdır. Yedeklenecek verinin toplam boyutunu ve veri tekilleştirme oranını göz önünde bulundurarak yeterli disk alanı ayırmanız şarttır. Yedeklerinizi depolayacağınız alanın en azından yedeklenecek toplam verinin %50’si kadar (tekilleştirme ile daha az da olabilir) olması önerilir. Yüksek performanslı depolama (SSD) yedekleme ve geri yükleme sürelerini kısaltacaktır.
SSH Erişimi
VPS’inize SSH üzerinden erişiminizin olması gerekmektedir. Genellikle bu, bir terminal aracılığıyla ssh kullanıcıadı@vps_ip_adresi komutuyla yapılır. Yönetimsel işlemler için root kullanıcısı veya sudo yetkilerine sahip bir kullanıcı ile bağlanmalısınız.
Güncelleme ve Yükseltme
Sisteminizi güncel tutmak, güvenlik yamalarını almanızı ve yazılımların en son kararlı sürümlerini kullanmanızı sağlar. Kuruluma başlamadan önce aşağıdaki komutları çalıştırarak paket listenizi güncelleyin ve yüklü paketlerinizi yükseltin:
sudo apt-get update
sudo apt-get upgrade -y
Gerekli Paketler
BackupPC’nin çalışması için bazı temel paketlere ihtiyacımız var. Bunlar genellikle BackupPC paketi ile bağımlılık olarak gelir, ancak emin olmak için listelemekte fayda var:
- Apache2: BackupPC’nin web arayüzünü sunmak için bir web sunucusu.
- libapache2-mod-perl2: Apache’nin Perl betiklerini çalıştırmasını sağlayan modül. BackupPC’nin web arayüzü Perl ile yazılmıştır.
- rsync: Dosya transferi ve senkronizasyonu için kullanılan araç. BackupPC, istemcileri yedeklemek için rsync’i yoğun olarak kullanır.
- ssh: Güvenli kabuk protokolü. İstemcilerle güvenli iletişim kurmak için kullanılır.
- Perl: BackupPC’nin kendisi Perl ile yazılmıştır.
BackupPC Sunucusunun Kurulumu
Şimdi BackupPC sunucusunu Ubuntu 12.04 VPS’imize kurma adımlarına geçebiliriz.
Adım 1: Gerekli Paketleri Yükleme
BackupPC ve gerekli tüm bağımlılıklarını tek bir komutla yükleyebiliriz:
sudo apt-get install backuppc apache2 libapache2-mod-perl2 rsync ssh -y
Bu komut, BackupPC’yi, Apache web sunucusunu, Perl modülünü, rsync’i ve ssh’yi sisteminize kuracaktır. Kurulum sırasında, BackupPC için bir Apache yapılandırma dosyası oluşturulacak ve Apache’nin Perl modülü etkinleştirilecektir. Ayrıca, BackupPC için otomatik olarak bir sistem kullanıcısı (backuppc) ve bir depolama dizini (/var/lib/backuppc) oluşturulacaktır.
Kurulum sırasında BackupPC web arayüzü için bir parola belirlemeniz istenebilir. Bu, backuppc kullanıcısı için bir parola olacaktır. Eğer istenmezse, daha sonra manuel olarak ayarlayacağız.
Adım 2: Apache Yapılandırması
BackupPC’nin web arayüzüne erişebilmek için Apache’nin doğru şekilde yapılandırılması gerekir.
backuppc.conf dosyasının etkinleştirilmesi
Kurulum sırasında backuppc.conf dosyası /etc/apache2/conf.d/ dizinine yerleştirilir ve genellikle otomatik olarak etkinleştirilir. Ancak emin olmak için kontrol edelim:
sudo a2enconf backuppc
Eğer zaten etkinse, “Conf backuppc already enabled” mesajını alırsınız. Eğer değilse, bu komut onu etkinleştirecektir.
Kimlik doğrulama ayarları
BackupPC web arayüzüne erişim için bir kullanıcı adı ve parola belirlememiz gerekiyor. Bu, Apache’nin .htpasswd mekanizması ile yapılır. backuppc kullanıcısı için bir parola belirleyelim:
sudo htpasswd -c /etc/backuppc/htpasswd backuppc
Bu komut sizden backuppc kullanıcısı için yeni bir parola girmenizi isteyecektir. Bu parolayı iki kez girdikten sonra, /etc/backuppc/htpasswd dosyasında şifrelenmiş parola saklanacaktır. Bu, web arayüzüne giriş yaparken kullanacağınız kullanıcı adı ve paroladır.
Apache’yi yeniden başlatma
Yapılandırma değişikliklerinin etkili olması için Apache servisini yeniden başlatmalıyız:
sudo service apache2 restart
Artık web tarayıcınızdan http://sizin_vps_ip_adresiniz/backuppc adresine giderek BackupPC web arayüzüne erişebiliyor olmalısınız. Giriş yaparken az önce belirlediğiniz backuppc kullanıcı adı ve parolasını kullanın.
Adım 3: BackupPC Kullanıcısı ve İzinleri
BackupPC, sistemde backuppc adında özel bir kullanıcı ile çalışır. Bu kullanıcının, yedekleme dizinine (/var/lib/backuppc) yazma ve okuma izinleri olması gerekir. Kurulum sırasında bu kullanıcı ve dizin otomatik olarak oluşturulur ve izinler ayarlanır, ancak kontrol etmekte fayda var:
ls -ld /var/lib/backuppc
Çıktı aşağıdakine benzer olmalıdır:
drwxr-x--- 5 backuppc backuppc 4096 Haz 20 10:00 /var/lib/backuppc
Eğer izinler yanlışsa, aşağıdaki komutlarla düzeltebilirsiniz:
sudo chown -R backuppc:backuppc /var/lib/backuppc
sudo chmod -R u+rwx,g+rx,o-rwx /var/lib/backuppc
Bu, backuppc kullanıcısına ve grubuna tam erişim verirken diğer kullanıcıların erişimini kısıtlar.
Adım 4: BackupPC Yapılandırması
BackupPC’nin ana yapılandırma dosyası /etc/backuppc/config.pl konumundadır. Bu dosya Perl diliyle yazılmıştır ve BackupPC’nin davranışını kontrol eden birçok parametre içerir. Bu dosyayı düzenlerken dikkatli olmalısınız, zira yanlış bir sözdizimi BackupPC’nin çalışmamasına neden olabilir. Düzenleme için bir metin düzenleyici kullanın (örneğin nano veya vim):
sudo nano /etc/backuppc/config.pl
Aşağıda bazı önemli parametreler ve açıklamaları bulunmaktadır:
Genel Ayarlar
$Conf{CgiAdminUsers} = 'backuppc';$Conf{CgiUserText} = 'Sistem Yedekleme Yönetimi';
Bu parametre, web arayüzüne yönetici olarak erişebilecek kullanıcıları belirler. Eğer başka kullanıcılar da eklediyseniz, virgülle ayırarak buraya ekleyebilirsiniz.
Web arayüzünde görünen başlık metnini ayarlar.
E-posta Bildirimleri
Yedekleme durumları hakkında bildirim almak için e-posta ayarlarını yapılandırmanız önerilir.
$Conf{EMailAdminUser} = 'yonetici@alanadiniz.com';$Conf{EMailUserDestDomain} = 'alanadiniz.com';$Conf{SendmailPath} = '/usr/sbin/sendmail';
Yönetici e-posta adresi. Yedekleme hataları veya önemli olaylar bu adrese gönderilir.
Yedeklenecek istemcilerin e-posta bildirimlerinin gönderileceği varsayılan etki alanı.
E-posta göndermek için kullanılacak sendmail/postfix yolunu belirtir. Eğer sisteminizde bir SMTP sunucusu kurulu ve yapılandırılmışsa, bu ayarı kontrol edin.
Disk Kota Ayarları
Depolama alanınızın dolmasını önlemek için disk kota ayarlarını yapılandırın.
$Conf{MaxDiskUsagePercent} = 90;$Conf{MinDiskUsagePercent} = 80;
Disk kullanım oranı bu yüzdeye ulaştığında, BackupPC eski yedeklemeleri silmeye başlar.
Disk kullanımı bu yüzdeye düşene kadar eski yedeklemeler silinmeye devam eder.
Diğer Önemli Parametreler
$Conf{XferMethod} = 'rsync';$Conf{RsyncClientPath} = '/usr/bin/rsync';$Conf{RsyncSshPath} = '/usr/bin/ssh';$Conf{BackupFilesOnly} = {};$Conf{BackupFilesExclude} = {};
Varsayılan yedekleme yöntemi. Genellikle rsync kullanılır. Diğer seçenekler tar veya smb olabilir.
İstemcideki rsync yürütülebilir dosyasının yolu.
İstemcideki ssh yürütülebilir dosyasının yolu.
Yedeklenecek belirli dosya ve dizinleri belirtmek için kullanılır.
Yedeklemeden hariç tutulacak dosya ve dizinleri belirtmek için kullanılır.
Yapılandırma dosyasında değişiklik yaptıktan sonra kaydedip çıkın ve BackupPC servisini yeniden başlatın:
sudo service backuppc restart
Yedeklenecek İstemcilerin Yapılandırılması
BackupPC sunucusunu kurduktan sonra, yedeklemek istediğimiz istemcileri yapılandırmamız gerekiyor. BackupPC, istemcilere SSH üzerinden bağlanarak rsync veya tar komutlarını çalıştırır. Bu nedenle, SSH anahtar tabanlı kimlik doğrulama kullanmak en güvenli ve otomatik yöntemdir.
Adım 1: SSH Anahtar Tabanlı Kimlik Doğrulama
BackupPC sunucusunun parola sormadan istemcilere bağlanabilmesi için SSH anahtar tabanlı kimlik doğrulamayı kurmalıyız.
BackupPC sunucusunda SSH anahtarı oluşturma
backuppc kullanıcısı adına bir SSH anahtar çifti oluşturmamız gerekiyor. Önce backuppc kullanıcısına geçiş yapın:
sudo su - backuppc
Şimdi anahtarı oluşturun. Parola (passphrase) sorması durumunda boş bırakın (Enter tuşuna basın), böylece parola sormadan bağlantı kurulabilir:
ssh-keygen -t rsa -b 4000
Bu komut, /var/lib/backuppc/.ssh/id_rsa (özel anahtar) ve /var/lib/backuppc/.ssh/id_rsa.pub (genel anahtar) dosyalarını oluşturacaktır.
Genel anahtarı istemcilere kopyalama
Oluşturduğumuz genel anahtarı (id_rsa.pub), yedeklemek istediğimiz her istemcinin ~/.ssh/authorized_keys dosyasına kopyalamalıyız. Bunu yapmak için ssh-copy-id komutunu kullanmak en kolay yoldur. Ancak ssh-copy-id genellikle root veya normal kullanıcılar için tasarlanmıştır. backuppc kullanıcısı için manuel olarak veya aşağıdaki gibi yapabiliriz:
# backuppc kullanıcısı olarak hala sunucudayken
ssh-copy-id -i ~/.ssh/id_rsa.pub istemci_kullaniciadi@istemci_ip_adresi
Bu komut sizden istemci_kullaniciadi için parolayı isteyecektir. Parolayı girdikten sonra, genel anahtar istemcinin ~/.ssh/authorized_keys dosyasına eklenecektir. Bu işlemi yedeklemek istediğiniz her istemci için tekrarlayın.
Eğer ssh-copy-id çalışmazsa veya manuel yapmak isterseniz:
1. Genel anahtarı kopyalayın:
cat ~/.ssh/id_rsa.pub
Çıktıyı kopyalayın.
2. İstemciye SSH ile bağlanın:
ssh istemci_kullaniciadi@istemci_ip_adresi
3. İstemcide ~/.ssh dizininin varlığını kontrol edin, yoksa oluşturun ve izinleri ayarlayın:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
4. authorized_keys dosyasını oluşturun veya düzenleyin ve kopyaladığınız genel anahtarı yapıştırın:
nano ~/.ssh/authorized_keys
Kopyaladığınız anahtarı yeni bir satıra yapıştırın, kaydedin ve çıkın.
5. authorized_keys dosyasının izinlerini ayarlayın:
chmod 600 ~/.ssh/authorized_keys
Bu adımları tamamladıktan sonra, backuppc kullanıcısı olarak BackupPC sunucusundan istemciye parola sormadan SSH bağlantısı kurabilmelisiniz. Test etmek için:
# backuppc kullanıcısı olarak hala sunucudayken
ssh istemci_kullaniciadi@istemci_ip_adresi
Eğer parola sormadan bağlanabiliyorsanız, SSH anahtar tabanlı kimlik doğrulama başarılı olmuştur. Şimdi exit yazarak backuppc kullanıcısından çıkın ve root veya sudo kullanıcınıza geri dönün.
Adım 2: BackupPC Web Arayüzünden İstemci Ekleme
Şimdi BackupPC web arayüzüne giriş yapın (http://sizin_vps_ip_adresiniz/backuppc) ve istemcilerinizi ekleyin.
1. Web arayüzünde sol menüden “Edit Hosts” (Ana Bilgisayarları Düzenle) seçeneğine tıklayın.
2. “Add Host” (Ana Bilgisayar Ekle) düğmesine tıklayın.
3. Açılan formda aşağıdaki bilgileri girin:
- Hostname: Yedeklenecek istemcinin hostname’i veya IP adresi.
- User: İstemcide SSH ile bağlanılacak kullanıcı adı (örneğin
rootveyaistemci_kullaniciadi). Bu kullanıcının yedeklenecek dosyalara okuma erişimi olmalıdır. - XferMethod: Yedekleme yöntemi. Genellikle
rsyncseçilir. - RsyncShareName: Bu, BackupPC’nin istemciden yedekleyeceği dizinleri belirtir. Örneğin,
/home,/var/www,/etcgibi dizinleri yedeklemek istiyorsanız, bunları virgülle ayırarak buraya yazmalısınız:/home /var/www /etc.
4. “Add” (Ekle) düğmesine tıklayın.
İstemciyi ekledikten sonra, “Host Summary” (Ana Bilgisayar Özeti) sayfasında yeni istemcinizi göreceksiniz. İstemcinin adına tıklayarak o istemciye özel yapılandırma ayarlarına erişebilirsiniz.
İstemciye Özel Yapılandırma (Opsiyonel ama Önemli)
Her istemci için ayrı ayrı yapılandırma ayarları yapabilirsiniz. “Edit Config” (Yapılandırmayı Düzenle) düğmesine tıklayarak bu ayarlara erişin. Bazı önemli ayarlar:
XferMethodveXferLogLevel: Yedekleme yöntemi ve günlük kaydı seviyesi. Genellikle varsayılanlar iyidir.RsyncShareName: Yedeklenecek dizinlerin listesi. Daha önce eklediyseniz burada görünür.BackupFilesExclude: Yedeklemeden hariç tutulacak dosya veya dizinler. Örneğin,/tmpveya/var/cachegibi geçici dizinleri hariç tutmak isteyebilirsiniz. Her birini yeni bir satıra ekleyin.BackupFilesOnly: Yalnızca belirli dosya veya dizinleri yedeklemek isterseniz kullanın.FullPeriod,IncrPeriod: Tam ve artımlı yedeklemelerin periyotları (gün cinsinden). Örneğin, tam yedeklemeyi haftada bir (7 gün) ve artımlı yedeklemeyi her gün (1 gün) yapabilirsiniz.FullKeepCnt,IncrKeepCnt: Saklanacak tam ve artımlı yedekleme sayısı. Örneğin, son 4 tam yedeklemeyi ve son 60 artımlı yedeklemeyi saklamak isteyebilirsiniz.
Yapılandırmayı değiştirdikten sonra “Save” (Kaydet) düğmesine tıklayın.
Adım 3: İstemci Tarafında Ayarlar
Yedeklenecek her istemcinin aşağıdaki gereksinimleri karşıladığından emin olun:
- Rsync Kurulumu: İstemcide rsync paketinin yüklü olduğundan emin olun:
sudo apt-get install rsync -y - SSH Sunucusu: İstemcide SSH sunucusunun çalıştığından emin olun:
sudo service ssh statusEğer çalışmıyorsa:
sudo service ssh start - Sudo Ayarları (Opsiyonel): Eğer BackupPC, istemcide
rootdışı bir kullanıcı ile bağlanıprootayrıcalıkları gerektiren dosya veya dizinleri yedekleyecekse, o kullanıcınınsudoyetkisine sahip olması ve parola sormadan belirli komutları çalıştırabilmesi gerekebilir. Bu,/etc/sudoersdosyasında ayarlanabilir (dikkatli olun!):sudo visudoDosyanın sonuna aşağıdaki gibi bir satır ekleyebilirsiniz (örneğin
istemci_kullaniciadiiçin):istemci_kullaniciadi ALL=(root) NOPASSWD: /usr/bin/rsyncBu,
istemci_kullaniciadikullanıcısının rsync’i root olarak parola sormadan çalıştırmasına izin verir. Bu, güvenlik riskleri taşıyabilir, bu yüzden sadece gerekli olduğunda ve dikkatli bir şekilde kullanılmalıdır. Daha güvenli bir yaklaşım, BackupPC’nin doğrudanrootkullanıcısı olarak SSH ile bağlanmasıdır (tabii ki SSH anahtar tabanlı kimlik doğrulama ile).
Yedekleme İşlemlerini Yönetme ve Geri Yükleme
İstemcileri yapılandırdıktan sonra, yedekleme işlemlerini başlatabilir, izleyebilir ve gerektiğinde verileri geri yükleyebilirsiniz.
Yedekleme Başlatma ve İzleme
Manuel Yedekleme Başlatma
Web arayüzünde “Host Summary” (Ana Bilgisayar Özeti) sayfasından, yedeklemek istediğiniz istemcinin adına tıklayın. Ardından “Start Full Backup” (Tam Yedeklemeyi Başlat) veya “Start Incr Backup” (Artımlı Yedeklemeyi Başlat) düğmelerinden birine tıklayarak manuel olarak yedekleme başlatabilirsiniz.
Yedekleme Durumunu İzleme
Yedekleme işlemi başladıktan sonra, “Status” (Durum) sayfasından tüm aktif yedeklemeleri ve geçmiş yedeklemelerin durumunu görebilirsiniz. Her bir yedekleme işinin detaylarını görmek için ilgili yedekleme oturumunun bağlantısına tıklayabilirsiniz. Burada günlükleri, aktarılan dosya sayısını ve boyutunu görebilirsiniz.
Yedekleme Zamanlaması
BackupPC, config.pl dosyasındaki veya istemciye özel yapılandırmadaki parametrelerle yedeklemeleri otomatik olarak zamanlar:
$Conf{FullPeriod}: Tam yedeklemeler arasındaki gün sayısı.$Conf{IncrPeriod}: Artımlı yedeklemeler arasındaki gün sayısı.$Conf{FullKeepCnt}: Saklanacak tam yedekleme sayısı.$Conf{IncrKeepCnt}: Saklanacak artımlı yedekleme sayısı.$Conf{BlackoutPeriods}: Yedeklemelerin yapılmayacağı zaman aralıkları. Örneğin, iş saatleri içinde yedekleme yapmamak için kullanılabilir.
Bu parametreleri ayarlayarak yedekleme politikanızı belirleyebilirsiniz. BackupPC’nin arka planda çalışan daemon’u bu zamanlamalara göre otomatik olarak yedeklemeleri başlatacaktır.
Veri Geri Yükleme
BackupPC’nin en önemli özelliklerinden biri de kolay ve esnek geri yükleme yeteneğidir.
1. Web arayüzünde “Host Summary” (Ana Bilgisayar Özeti) sayfasından, geri yüklemek istediğiniz istemcinin adına tıklayın.
2. “Browse Backups” (Yedeklemelere Göz At) seçeneğine tıklayın.
3. Yedekleme listesinden geri yüklemek istediğiniz tarih ve saate sahip yedeği seçin.
4. Açılan dosya tarayıcısında, geri yüklemek istediğiniz dosya veya dizinleri işaretleyin. Birden fazla öğe seçebilirsiniz.
5. Seçtikten sonra, “Restore selected files” (Seçilen dosyaları geri yükle) düğmesine tıklayın.
6. Geri yükleme seçenekleri ekranında şunları belirleyebilirsiniz:
- Where to restore files: Dosyaların orijinal konumlarına mı yoksa farklı bir dizine mi geri yükleneceğini seçin. Eğer orijinal konuma geri yüklüyorsanız, BackupPC’nin istemciye SSH ile bağlanıp dosyaları oraya yazma yetkisi olmalıdır. Farklı bir dizine geri yüklüyorsanız, o dizinin BackupPC sunucusunda bulunması gerekir.
- Overwrite existing files: Mevcut dosyaların üzerine yazılıp yazılmayacağını seçin.
- Tar options: Geri yükleme sırasında tar komutuna geçilecek ek seçenekler (genellikle gerekmez).
7. “Restore” (Geri Yükle) düğmesine tıklayarak işlemi başlatın.
Geri yükleme işlemi tamamlandığında, web arayüzünde bir bildirim alacaksınız. Geri yükleme günlüklerini kontrol ederek işlemin başarılı olup olmadığını doğrulayabilirsiniz.
Performans ve Bakım
BackupPC sunucunuzun verimli ve güvenilir bir şekilde çalışmasını sağlamak için düzenli bakım ve performans optimizasyonları önemlidir.
Disk Alanı Yönetimi
BackupPC’nin veri tekilleştirme özelliği sayesinde disk alanından tasarruf edilse de, zamanla yedekleme boyutu artacaktır.
- Kota Ayarları:
$Conf{MaxDiskUsagePercent}ve$Conf{MinDiskUsagePercent}parametrelerini dikkatlice ayarlayın. Bu ayarlar, disk dolmaya başladığında BackupPC’nin eski yedekleri otomatik olarak silmesini sağlar. - Yedekleme Saklama Politikaları: Her istemci için
FullKeepCntveIncrKeepCntdeğerlerini gözden geçirin. Çok fazla yedeklemeyi çok uzun süre saklamak, disk alanını hızla doldurabilir. İhtiyaçlarınıza uygun bir saklama politikası belirleyin. - Deduplikasyonun Etkinliği: BackupPC web arayüzündeki raporları inceleyerek veri tekilleştirme oranlarınızın ne kadar etkili olduğunu görebilirsiniz. Eğer oranlar düşükse, yedeklenen verinin doğası (çok sık değişen veya benzersiz dosyalar) buna neden olabilir.
Günlük Yönetimi
BackupPC, tüm yedekleme ve geri yükleme işlemlerinin günlüklerini tutar. Bu günlükler, sorun giderme ve yedekleme geçmişini izleme açısından kritik öneme sahiptir. Web arayüzünden veya /var/lib/backuppc/pc/HOST/LOG.Z gibi dizinlerden günlük dosyalarına erişebilirsiniz. Düzenli olarak günlükleri kontrol etmek, olası sorunları erken tespit etmenizi sağlar.
Güncelleme ve Güvenlik
Ubuntu 12.04 eski bir sürüm olsa da, sisteminizi ve BackupPC’yi güncel tutmak önemlidir.
- Ubuntu Sistemini Güncel Tutma: Düzenli olarak
sudo apt-get updatevesudo apt-get upgrade -ykomutlarını çalıştırarak işletim sisteminizi ve yüklü paketleri güncelleyin. Bu, güvenlik açıklarının kapatılmasına yardımcı olur. - Güvenlik Duvarı (UFW) Ayarları: VPS’inizde bir güvenlik duvarı (örneğin UFW) etkinleştirin ve sadece gerekli portlara (SSH için 22, Apache web arayüzü için 80 ve/veya 443) izin verin.
sudo ufw enable sudo ufw allow 22/tcp sudo ufw allow 80/tcp # Eğer HTTPS kullanıyorsanız: sudo ufw allow 443/tcp sudo ufw status - SSH Güvenliğini Artırma: SSH bağlantılarınızın güvenliğini artırmak için aşağıdaki önlemleri alın:
- Parola tabanlı kimlik doğrulama yerine yalnızca SSH anahtar tabanlı kimlik doğrulamaya izin verin.
rootkullanıcısının doğrudan SSH ile giriş yapmasını devre dışı bırakın.- Varsayılan SSH portunu (22) değiştirin.
fail2bangibi araçlarla kaba kuvvet saldırılarına karşı koruma sağlayın.
Sıkça Sorulan Sorular ve Sorun Giderme
BackupPC kullanırken karşılaşabileceğiniz bazı yaygın sorunlar ve çözümleri:
Yedeklemeler Başlamıyor
- BackupPC Servisi Çalışıyor mu?:
sudo service backuppc statuskomutuyla servisin çalıştığını kontrol edin. Çalışmıyorsasudo service backuppc startile başlatın. - SSH Bağlantısı Başarılı mı?: BackupPC sunucusundan istemciye
backuppckullanıcısı olarak SSH ile parola sormadan bağlanabildiğinizden emin olun.sudo su - backuppcve ardındanssh istemci_kullaniciadi@istemci_ip_adresikomutlarını deneyin. - İzin Sorunları: İstemcide yedeklenecek dosya ve dizinlere
istemci_kullaniciadikullanıcısının okuma izni olduğundan emin olun. - Yapılandırma Hatası:
/etc/backuppc/config.plveya istemciye özel yapılandırma dosyasında sözdizimi hatası olup olmadığını kontrol edin.sudo backuppc -f /etc/backuppc/config.plkomutuyla sözdizimi kontrolü yapabilirsiniz. - Disk Alanı Dolu mu?: BackupPC sunucusunun disk alanı doluysa yedeklemeler durabilir.
İzin Hataları
Yedekleme günlüklerinde “Permission denied” (İzin reddedildi) hataları görüyorsanız:
- İstemcideki
istemci_kullaniciadikullanıcısının yedeklenecek dizinlere okuma izni olduğundan emin olun. - Eğer
rootdışı bir kullanıcı ile yedekleme yapılıyorsa verootayrıcalıkları gerekiyorsa,/etc/sudoersdosyasındakiNOPASSWDayarını kontrol edin.
Disk Alanı Sorunları
Disk alanınız beklenenden hızlı doluyorsa:
$Conf{MaxDiskUsagePercent}ve$Conf{MinDiskUsagePercent}ayarlarını kontrol edin.FullKeepCntveIncrKeepCntdeğerlerini düşürerek daha az yedekleme tutmayı deneyin.- Yedeklenen dizinlerdeki gereksiz dosyaları (
/tmp,/var/cachevb.)BackupFilesExcludeile hariç tutun.
Performans Yavaşlığı
Yedeklemeler çok uzun sürüyorsa:
- Ağ bağlantısını kontrol edin. VPS ve istemciler arasındaki ağ hızı kritik öneme sahiptir.
- Disk I/O performansını kontrol edin. BackupPC sunucusunun disk performansı düşükse, yedeklemeler yavaşlayabilir.
- rsync’in bant genişliği kullanımı,
RsyncClientCmdparametresindeki--bwlimitseçeneği ile sınırlanabilir.
Sonuç
Bu rehberde, Ubuntu 12.04 VPS üzerinde BackupPC kullanarak güvenilir ve verimli bir yedekleme sunucusu kurmanın tüm adımlarını detaylı bir şekilde inceledik. BackupPC’nin clientless mimarisi, güçlü veri tekilleştirme yetenekleri ve web tabanlı kullanıcı arayüzü sayesinde, çeşitli işletim sistemlerine sahip istemcilerinizi kolayca yedekleyebilir ve olası veri kaybı senaryolarına karşı kendinizi güvence altına alabilirsiniz.
Yedekleme, sadece bir felaket anında değil, aynı zamanda veri bütünlüğünü korumak ve iş sürekliliğini sağlamak için de hayati bir süreçtir. BackupPC gibi açık kaynaklı çözümler, bu kritik ihtiyacı uygun maliyetli ve esnek bir şekilde karşılamanıza olanak tanır. Unutmayın ki, yedekleme stratejinizin başarısı sadece doğru aracı seçmekle kalmaz, aynı zamanda düzenli testler, izleme ve bakım ile de doğrudan ilişkilidir. Kurduğunuz yedekleme sisteminin çalıştığından ve gerektiğinde verileri geri yükleyebildiğinizden emin olmak için periyodik olarak geri yükleme testleri yapmayı ihmal etmeyin.
Her ne kadar Ubuntu 12.04 eski bir sürüm olsa da, bu rehberdeki temel prensipler ve adımlar, BackupPC’nin daha yeni Linux dağıtımlarında kurulumu için de bir temel teşkil etmektedir. Verilerinizi güvende tutmak için bugün yedekleme altyapınızı kurmaya başlayın!