Яке рішення для резервного копіювання ви використовуєте для серверів Linux [закрито]


15

Які резервні рішення ви використовуєте для сервера Linux у виробничому середовищі? Ви віддаєте перевагу з відкритим кодом або комерційною продукцією?

Що ви вважаєте важливими особливостями програмного забезпечення для резервного копіювання?

Які продукти ви не рекомендуєте? Чи є загальні підводні камені у виборі резервного програмного забезпечення?


Старе питання, однак, LuckyBackup - це також коректна відповідь.
Нікос Олександріс

Відповіді:


12

Я використовую бакулу openSource . Це чудово - серверна / клієнтська модель, яка працює на Windows або Linux. Є хороша онлайн-підтримка та активна спільнота розробників.

Трохи складно налаштувати, але має всі функції, які ви коли-небудь могли захотіти.

Існує також приємний веб-gui під назвою bweb, який можна використовувати для щоденної роботи з ним.


Привіт, я намагаюся розгорнути бакулу в своєму кабінеті, і це дуже хитро. Якщо у вас є яка - або документація по установці будь ласка , ви можете поділитися ..
Caterpillar

Вибачте, я щойно використав онлайн-документацію.
Брент

7

Що стосується суттєвих особливостей, то для роботи потрібно використовувати правильний інструмент.

Якщо ваш набір даних невеликий і вміщує один обсяг, використовуйте rsnapshot або rdiff-резервне копіювання. Обидва пропонують додаткові резервні копії, дуже ефективні в просторі та дуже зручні у використанні.

Для великих або більш складних резервних копій, які мають офлайн-компонент, я використовую Bacula, для правильної настройки потрібен певний час, але він є надійним і має досить багато функцій. Я рекомендую з'єднати його з таким веб-інтерфейсом, як webacula.

Хороша ідея btw, для кожного сервера, який я маю, я використовую rdiff-резервне копіювання для збереження щоденного додаткового резервного копіювання / etc в / var / backups /, це нічого не коштує і не принесе вам великих головних болів, якщо ви не можете зрозуміти чому остання зміна конфігураційного файла викликає стільки хаосу.


4

Я використовую rsync як по мережі від мого колориту до дому, так і від домашньої скриньки до знімного USB-накопичувача, який я міняю на один, який я тримаю в своєму столі на роботі. Сценарій виглядає приблизно так:

#!/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; Я використовую те саме :-)
Джон Кейдж,

LuckyBackup , заснований на rsync.
Нікос Олександріс

@NikosAlexandris, я б не використовував резервний продукт із написом слова "пощастило" - мені не подобається конотація, що "якщо пощастить, ти зможеш відновити його".
Пол Томблін

: D - Хоча перевірте "нагороди" на домашній сторінці проекту.
Нікос Олександріс

3

Я використовую jungledisk для зберігання файлів хмари Rackspace. Він просто йде щовечора і робить свою справу, я просто кажу йому, що потрібно створити резервну копію, і він навіть зберігає зміни (подібні). Вихідний, і досить недорогий.


Я теж люблю Jungledisk. Це просто легко.
Corey S.

2

Я використовую backuppc для всіх своїх хостів. Тільки maildir-магазин 500 Гб був проблематичним, оскільки rsyncдійсно використовував занадто багато оперативної пам’яті на стороні прийому. Я переключився на використання тара та часових відміток бази для цього хоста.


2

BackupExec , з безкоштовним агентом RALUS * NIX . Експорт легко, не вимагає SAMBA і підходить до серверів Windows, які також резервні копії агентів.


Агент Unix все ще безкоштовний? Востаннє, коли я переглянув це, було пов’язано з ним вартість ліцензування - що мене здивувало, оскільки воно не було принаймні BackupExec 10 і раніше.
Гевін Мак-Таггарт

2

Якщо ви шукаєте дискову систему (а не магнітофонну або офсетну або якусь іншу ), я б запропонував переглянути BackupPC . Ми мали з цим хороший досвід. Здається, добре поєднати файли, щоб добре використати дисковий простір, це дуже легко налаштовуватись і було для нас непоганим.


2

Я б запропонував Bacula, що я зараз його використовую в нашому магазині. Він також працює з вікнами, якщо ви коли-небудь виявите, що у вас є потреба в цьому. :)

Ще одна пропозиція може бути Амандою, однак я ніколи її не використовував, хоча їх часто порівнюють одна проти одної.

Bacula - це набір комп'ютерних програм, які дозволяють вам (або системному адміністратору) керувати резервним копією, відновленням та верифікацією комп'ютерних даних через мережу комп'ютерів різного типу. У технічному плані це мережна програма резервного копіювання на основі клієнта / сервера. Bacula порівняно простий у використанні та ефективний, при цьому пропонує безліч вдосконалених функцій управління сховищем, які полегшують пошук і відновлення втрачених або пошкоджених файлів. Завдяки своїй модульній конструкції Bacula можна масштабувати від невеликих єдиних комп'ютерних систем до систем, що складаються з сотень комп'ютерів, розташованих по великій мережі.


2

Цей документ дуже добре і детально пояснює, як використовувати rsync для інкрементального резервного копіювання в Linux.


1

У власному світі R1Soft робить дуже гарну роботу. Спробуйте демонстраційні інструменти, які вони випускають безкоштовно.

У вільному світі я використовую lvm знімки, dd та netcat для швидкого резервного копіювання. Просто переконайтесь, що dm_snapshot існує у вашому інтридрі :)


1

Я щасливий користувач скрипта для бешкетного пакета backupninja . він доступний в debian як пакет у стандартному сховищі.

залежно від типу даних я використовую безпосередньо rdiff-резервне копіювання, згадане Ендрю Чолакіаном, або спочатку роблю знімок обсягу LVM [згаданий tinkertim], а потім запускаю rdiff-резервне копіювання на ньому.

rdiff-резервне копіювання працює не дуже ефективно над поганими мережевими посиланнями, у таких випадках я запускаю rdiff-резервну копію локально, а потім використовую rsync для синхронізації сховища резервного копіювання з віддаленим сервером.


1

Де б ви хотіли створити резервну копію? rsync може бути безцінним інструментом синхронізації копії каталогів, якщо ви хочете зробити резервну копію на інший Linux-сервер. Ви можете зберегти резервні копії за часом, отримавши попередню резервну копію. Ви, по суті, отримуєте повну резервну копію кожного разу, але це лише тягне файли, які були змінені. Ось приклад сценарію bash, який буде використовувати rsync, не забудьте прочитати коментарі.

#!/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

Брудний

Що ви вважаєте важливими особливостями програмного забезпечення для резервного копіювання?

  • Вміти відновити дуже легко
  • Не витрачає на зберігання або пропускну здатність для резервного копіювання

0

Я не можу повірити, що ніхто не згадав про подвійність . Я не можу рекомендувати його досить високо. Він має декілька резервних копій - від FTP до ssh до S3 - і робить шифрування (gpg) та додаткові резервні копії, і процес відновлення є надзвичайно легким.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.