Linux sunucuları için hangi yedekleme çözümünü kullanıyorsunuz [kapalı]


15

Üretim ortamında Linux sunucusu için hangi yedekleme çözümlerini kullanıyorsunuz? Açık kaynaklı veya ticari ürünleri mi tercih ediyorsunuz?

Yedekleme yazılımında temel özellikler olarak neyi düşünüyorsunuz?

Hangi ürünleri tavsiye etmiyorsunuz? Yedekleme yazılımı seçiminde sık karşılaşılan tuzaklar var mı?


Eski soru, LuckyBackup da geçerli bir cevap.
Nikos Alexandris

Yanıtlar:


12

Ben openSource bacula kullanıyorum . Mükemmel - Windows veya Linux üzerinde çalışan sunucu / istemci modeli. İyi bir çevrimiçi destek ve aktif bir geliştirici topluluğu vardır.

Kurmak biraz zor, ama şimdiye kadar istediğiniz tüm özelliklere sahiptir.

Ayrıca günlük çalışma için kullanılabilen bweb adında güzel bir web gui var.


Merhaba, ofisime bacula yerleştirmeye çalışıyorum ve çok zor. Herhangi bir kurulum belgeniz varsa lütfen paylaşabilirsiniz ..
Caterpillar

Üzgünüz, sadece çevrimiçi belgeleri kullandım.
Brent

7

Temel özelliklere gelince, iş için doğru aracı kullanmanız gerekir.

Veri kümeniz küçükse ve tek bir birime sığıyorsa, rsnapshot veya rdiff-backup kullanın. Her ikisi de artımlı yedekleme sunar, çok yer tasarrufu sağlar ve kullanımı gerçekten kolaydır.

Çevrimdışı bir bileşeni olan daha büyük veya daha karmaşık yedeklemeler için Bacula kullanıyorum, düzgün kurulum biraz zaman alıyor, ancak kaya gibi sağlam ve oldukça az özelliğe sahip. Webacula gibi bir web arayüzü ile birleştirmenizi tavsiye ederim.

İyi bir fikir btw, sahip olduğum her sunucu için / var / backups / dizininde günlük artımlı yedek tutmak için rdiff-backup kullanıyorum, size hiçbir maliyeti yok ve anlayamazsanız size çok fazla baş ağrısı kurtaracak bir yapılandırma dosyasındaki son değişikliğin neden bu kadar çok tahribata yol açtığını.


4

Hem ağımdaki evimden evime hem de ev kutusumdan işyerinde masamda tuttuğum biri için takas ettiğim çıkarılabilir bir USB sürücüsüne rsync kullanıyorum. Komut dosyası şöyle görünür:

#!/bin/sh
STARTTIME=$(date +%s)
HOUR=$(date +%H)
DOW=$(date +%a)
WEEKNUM=$(($(date +%W|sed 's/^0\?//') % 4))
LOG=/tmp/last_hour.log
echo "" > $LOG

for DEST in /media/usb[0-9] ; do
  if [ -d $DEST/allhats2 ] ; then
    echo backing up to $DEST >> $LOG
    YESTERDAY=`cat $DEST/yesterday`
    LASTHOUR=`cat $DEST/last_hour`
    PREV=$DEST/allhats2/hour$LASTHOUR
    if [ ! -d $PREV ] ; then
      echo could not find a directory at $PREV >> $LOG
      PREV=$DEST/allhats2/$YESTERDAY
      if [ ! -d $PREV ] ; then
        echo could not find a directory at $PREV >> $LOG
        PREV=$DEST/allhats2/Sat/
      fi
    fi
    if [ $HOUR = "00" ] ; then
      if [ $DOW = "Mon" ] ; then
        echo moving last monday to week$WEEKNUM
        rm -rf $DEST/allhats2/week$WEEKNUM
        mv $DEST/allhats2/Mon $DEST/allhats2/week$WEEKNUM
      fi
      echo moving last midnight to $YESTERDAY
      rm -rf $DEST/allhats2/$YESTERDAY
      mv $DEST/allhats2/hour$HOUR $DEST/allhats2/$YESTERDAY
      echo $DOW > $DEST/yesterday
    fi
    echo about to backup allhats2 to  hour $HOUR >> $LOG
    rm -rf $DEST/allhats2/hour$HOUR/
    rsync -aSuvrx --delete / /boot /home /usr /var /backup_2/dbs --link-dest=$PREV/ $DEST/allhats2/hour$HOUR/ >> $LOG
    echo $HOUR > $DEST/last_hour
  fi
done

YESTERDAY=`cat /root/yesterday`
if [ $HOUR = "01" ] ; then
  # Backup xen1
  echo about to backup xen1 to /1u_backup/xen1/$DOW/
  rm -rf /1u_backup/xen1/$DOW/
  rsync -aSuvrx --delete -e ssh --exclude /var/spool/news/ root@xen1:/ --link-dest=/1u_backup/xen1/$YESTERDAY/ /1u_backup/xen1/$DOW/

  for DEST in /media/usb[0-9] ; do
          if [ -d $DEST/xen1 ] ; then
                  echo "backing up the backup"
                  rm -rf $DEST/xen1/$DOW/
                  rsync -aSuvrx --delete /1u_backup/xen1/$DOW/ --link-dest=$DEST/xen1/$YESTERDAY/ $DEST/xen1/$DOW/ 
          fi
  done

  # Backup xen
  echo about to backup xen to /1u_backup/xen/$DOW/
  rm -rf /1u_backup/xen/$DOW/
  rsync -aSuvrx --delete -e ssh root@xen:/ --link-dest=/1u_backup/xen/$YESTERDAY/ /1u_backup/xen/$DOW/

  for DEST in /media/usb[0-9] ; do
          if [ -d $DEST/xen ] ; then
                  echo "backing up the backup"
                  rm -rf $DEST/xen/$DOW/
                  rsync -aSuvrx --delete /1u_backup/xen/$DOW/ --link-dest=$DEST/xen/$YESTERDAY/ $DEST/xen/$DOW/ 
          fi
  done

  echo done

  echo $DOW > /root/yesterday
fi

+1: ... rsync için; Aynı şeyi kullanıyorum :-)
Jon Cage

LuckyBackup , dayalı rsync.
Nikos Alexandris

@NikosAlexandris, adında "şanslı" kelimesi olan bir yedek ürün kullanmam.
Paul Tomblin

: D - Projenin ana sayfasındaki "ödülleri" kontrol edin.
Nikos Alexandris

3

Rackspace bulut dosya depolama ile jungledisk kullanıyorum. Sadece her gece gidiyor ve işini yapıyor, sadece neyi destekleyeceğini söylüyorum ve hatta revizyonları (bir çeşit) bile tutuyor. Tesis dışında ve oldukça ucuz.


Ben de Jungledisk'i seviyorum. Sadece kolay.
Corey S.

2

Tüm ana bilgisayarlarım için backuppc kullanıyorum . Sadece 500GB maildir deposu sorunluydu çünkü rsyncalıcı tarafta gerçekten çok fazla RAM kullanıyordu. Bu ana bilgisayar için katran ve zaman damgası taban artışlarını kullanmaya başladım.


2

BackupExec , ücretsiz RALUS * NIX aracısı ile . Kolayca dışa aktarır, SAMBA gerektirmez ve aracılar tarafından da desteklenen Windows sunucularına sığar.


Unix aracısı hala ücretsiz mi? En son baktığımda, bununla ilişkili bir lisans maliyeti vardı - bu beni şaşırttı, en azından BackupExec 10 ve önceki sürümlerden ücretsiz olduğu için beni şaşırttı.
Gavin McTaggart

2

Disk tabanlı bir sistem arıyorsanız (teyp veya site dışında ya da bir şey yerine), BackupPC'ye bakmanızı öneririm . Biz onunla iyi bir deneyim oldu. Disk alanından en iyi şekilde yararlanmak için dosyaları havuzlamak iyi bir iş gibi görünüyor, çok yapılandırılabilir ve bizim için sağlam.


2

Bacula'yı şu anda mağazamızda kullanmamı öneririm. Aynı zamanda pencerelerle çalışır, eğer buna ihtiyacınız olduğunu fark ederseniz. :)

Başka bir öneri Amanda olabilir, ancak hiç kullanmadım, ancak ikisi genellikle birbirleriyle karşılaştırılıyor.

Bacula, sizin (veya sistem yöneticinizin) farklı türdeki bilgisayarlardan oluşan bir ağda bilgisayar verilerinin yedeklenmesini, kurtarılmasını ve doğrulanmasını yönetmenize izin veren bir dizi bilgisayar programıdır. Teknik açıdan, ağ İstemcisi / Sunucu tabanlı bir yedekleme programıdır. Bacula'nın kullanımı nispeten kolay ve verimlidir, ayrıca kayıp veya hasarlı dosyaları bulmayı ve kurtarmayı kolaylaştıran birçok gelişmiş depolama yönetimi özelliği sunar. Modüler tasarımı sayesinde Bacula, küçük tek bilgisayar sistemlerinden büyük bir ağ üzerinde bulunan yüzlerce bilgisayardan oluşan sistemlere ölçeklenebilir.


2

Bu belge , rsync'in Linux'ta artımlı yedeklemeler için nasıl kullanılacağını çok iyi ve ayrıntılı bir şekilde açıklamaktadır.


1

Tescilli dünyada, R1Soft çok iyi bir iş çıkarıyor. Bedava yayınladıkları demo araçlarını deneyin.

Özgür dünyada, hızlı yedeklemeler yapmak için lvm anlık görüntüleri, dd ve netcat kullanıyorum. Sadece inmrd'ınızda dm_snapshot var olduğundan emin olun :)


1

backupninja wrapper bash betiğinin mutlu kullanıcısıyım . debian'da standart depoda paket olarak mevcuttur.

veri türüne bağlı olarak doğrudan Andrew Cholakian tarafından belirtilen rdiff-backup kullanıyorum ya da ilk önce [tinkertim tarafından belirtilen] LVM biriminin anlık görüntüsünü alıyorum ve daha sonra üzerinde rdiff-backup çalıştırıyorum.

rdiff-backup kötü ağ bağlantıları üzerinde çok verimli çalışmıyor, bu gibi durumlarda yerel olarak rdiff-backup çalıştırın ve sonra uzak sunucu ile yedekleme havuzunu senkronize etmek için rsync kullanın.


1

Nereye yedekleme yapmak istersiniz? rsync, başka bir linux sunucusuna yedekleme yapmak istiyorsanız, dizinlerin bir kopyasını senkronize tutmak için çok değerli bir araç olabilir. Önceki bir yedeklemeyi sağlayarak zamana dayalı yedeklemeler yapabilirsiniz. Aslında her seferinde tam bir yedek alıyorsunuz, ancak yalnızca değişen dosyaları çekecek. İşte rsync kullanacak bir örnek bash betiği, yorumları okumayı unutmayın.

#!/bin/bash

# If you want to automate this script you will need to generate public/private
# key pairs for the user executing this script on the remote server. 

# Change these variable to reflect where you want the backups to be stored
# and what servers will get backed up. Servers are seperated by spaces, do
# not use commas.
BACKUPLOCATION='/backups'
SERVERS=( testserver.example.com )
RSYNC='/usr/bin/rsync'

# These are variables used internally to the script DO NOT CHANGE!
TODAYSDATE=`date +%Y-%m-%d-%H`
FOLDERNAME='Backup-'$TODAYSDATE
CURRENTBACKUP='CurrentBackup'
USELINK=0

backup() {
    # Test and make sure that the folder we are backing up to is writable
    if [ -w $BACKUPLOCATION ]; then
        # The folder we are backing up to is writable no problems
        echo The backup destination is writable, continuing.
    else
        mkdir -p $BACKUPLOCATION
        if [ $? -eq 0 ]; then
            echo "Backup directory '$BACKUPLOCATION' was created"
        else
            # We can't write to the folder alert the user and stop the backup
            echo The backup destination is not writable! Backup Failed!
            exit 1
        fi
    fi

    # If there are older backups then use them as a source directory
    if [ -h "$BACKUPLOCATION/$CURRENTBACKUP" ]; then
        echo
        echo "Previous backup found... Will link to unchanged files..."
        LASTBACKUP=`ls -l $BACKUPLOCATION | grep $CURRENTBACKUP | awk '{ print $11 }'`
        echo $LASTBACKUP
        echo "Deleting Old Link..."
        rm -f $BACKUPLOCATION/$CURRENTBACKUP
        USELINK=1
    fi

    for SERVER in ${SERVERS[@]}
    do
        echo
        THISRUNLOC=$BACKUPLOCATION/$FOLDERNAME/$SERVER
        mkdir -p $THISRUNLOC

        if [ $USELINK -eq 1 ]; then
            OPT="-a --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/tmp --delete --link-dest=$LASTBACKUP/$SERVER $SERVER:/ $THISRUNLOC"
        else
            OPT="-a --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/tmp $SERVER:/ $THISRUNLOC"
        fi
        #echo "Performing: rsync $OPT"
        echo "Backing up server: $SERVER"
        $RSYNC $OPT
        if [ $? -eq 0 ]; then
            echo "Success!"
        else
            echo "Backup failed with an error code of $?"
        fi
        echo
    done

    echo "Creating New Link..."
    ln -s $BACKUPLOCATION/$FOLDERNAME $BACKUPLOCATION/$CURRENTBACKUP
    echo "Backup Complete!"
}

restore() {
        # I didn't write the restore code you can simply copy the files back
}

case $1 in
    backup)
        echo "Running the backup..."
        backup
        ;;
    restore)
        echo "Restoring backup..."
        restore
        ;;
    *)
        echo "Run this command with either backup or restore"
        ;;
esac

0

Dirvish

Yedekleme yazılımında temel özellikler olarak neyi düşünüyorsunuz?

  • Çok kolay geri yükleme yapabilme
  • Yedeklemeler için depolama alanını veya bant genişliğini boşa harcamaz

0

Kimsenin Duplicity'den bahsetmediğine inanamıyorum . Son derece yeterli tavsiye edemez. FTP'den ssh'a S3'e kadar birden fazla arka ucu vardır ve şifreleme (gpg) ve artımlı yedeklemeler yapar ve geri yükleme işlemi korkunç derecede kolaydır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.