Какое решение для резервного копирования вы используете для серверов Linux [закрыто]


15

Какие решения для резервного копирования вы используете для Linux-сервера в производственной среде? Вы предпочитаете продукты с открытым исходным кодом или коммерческие продукты?

Что вы считаете важными функциями в программном обеспечении резервного копирования?

Какие продукты вы не рекомендуете? Есть ли какие-либо распространенные ошибки при выборе программного обеспечения для резервного копирования?


Старый вопрос, однако, LuckyBackup также является верным ответом.
Никос Александрис

Ответы:


12

Я использую OpenSource Bacula . Это отлично - модель сервер / клиент, которая работает на Windows или Linux. Есть хорошая онлайн-поддержка и активное сообщество разработчиков.

Немного сложно настроить, но имеет все функции, которые вы когда-либо хотели.

Существует также хороший веб-интерфейс под названием bweb, который можно использовать для повседневной работы с ним.


Привет, я пытаюсь использовать Bacula в моем офисе, и это очень сложно. Если у вас есть какая-либо документация по установке, пожалуйста, поделитесь ею.
Caterpillar,

Извините, я просто использовал онлайн документацию.
Брент

7

Что касается основных функций, вам нужно использовать правильный инструмент для работы.

Если ваш набор данных небольшой и помещается на одном томе, используйте rsnapshot или rdiff-backup. Оба предлагают инкрементное резервное копирование, очень экономят место и действительно просты в использовании.

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

Кстати, одна хорошая идея: для каждого имеющегося у меня сервера я использую rdiff-backup, чтобы хранить ежедневную инкрементную резервную копию / 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 - Проверьте «награды» на главной странице проекта.
Никос Alexandris

3

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


Я тоже люблю Джунгледиск. Это просто.
Кори С.

2

Я использую backuppc для всех моих хостов. Только 500-гигабайтное хранилище maildir было проблематичным, потому что rsyncдействительно использовало слишком много оперативной памяти на принимающей стороне. Я перешел на использование инкрементов базы tar и метки времени для этого хоста.


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 существует в вашем initrd :)


1

Я счастливый пользователь резервного копирования Bash скрипт. он доступен в Debian как пакет в стандартном репозитории.

в зависимости от типа данных я использую непосредственно rdiff-backup, упомянутый Эндрю Чолакяном, или сначала делаю снимок тома LVM [упомянутый tinkertim], а затем запускаю на нем rdiff-backup.

rdiff-backup не очень эффективно работает с плохими сетевыми ссылками, в таких случаях я запускаю rdiff-backup локально, а затем использую 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

Dirvish

Что вы считаете важными функциями в программном обеспечении резервного копирования?

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

0

Я не могу поверить, что никто не упомянул Duplicity . Я не могу рекомендовать это достаточно высоко. Он имеет несколько бэкэндов - от FTP до ssh и S3 - и выполняет шифрование (gpg) и инкрементные резервные копии, а процесс восстановления ужасно прост.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.