Linuxサーバーに使用するバックアップソリューション[終了]


15

本番環境のLinuxサーバーに使用するバックアップソリューションは何ですか?オープンソースまたは商用製品を好みますか?

バックアップソフトウェアに不可欠な機能と思われるものは何ですか?

推奨しない製品はどれですか?バックアップソフトウェアの選択によくある落とし穴はありますか?


古い質問ですが、LuckyBackupも有効な回答です。
ニコスアレクサン

回答:


12

私は、オープンソースの使用のbaculaを。それは優れています-WindowsまたはLinux上で動作するサーバー/クライアントモデル。優れたオンラインサポートと活発な開発者コミュニティがあります。

セットアップには少し注意が必要ですが、必要な機能はすべて備えています。

また、日々の操作に使用できるbwebと呼ばれる素敵なWeb GUIもあります。


こんにちは、私は自分のオフィスでバキュラを展開しようとしていますが、非常にトリッキーです。インストールドキュメントがある場合は、それを共有してください
キャタピラー

申し訳ありませんが、私はオンラインドキュメントを使用しました。
ブレント

7

重要な機能に関する限り、仕事に適したツールを使用する必要があります。

データセットが小さく、単一のボリュームに収まる場合は、rsnapshotまたはrdiff-backupを使用します。どちらも増分バックアップを提供し、スペース効率が非常に高く、非常に使いやすいです。

私がBaculaを使用するオフラインコンポーネントを持つ大規模またはより洗練されたバックアップの場合、適切にセットアップするのに時間がかかりますが、非常に安定しており、多くの機能を備えています。webaculaのようなWebインターフェースと結合することをお勧めします。

1つの良いアイデアは、私が持っているすべてのサーバーに対して、/ var / backups /に/ etcの毎日の増分バックアップを保持するためにrdiff-backupを使用します。構成ファイルへの最後の変更が大混乱を引き起こす理由。


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

Rackspaceクラウドファイルストレージでjunglediskを使用します。それはただ毎晩行って、そのことをします、私は何をバックアップするかをそれだけに伝えます、そして、それはリビジョン(種類の)さえ保持します。オフサイトで、かなり安価です。


私もジャングルディスクが大好きです。簡単です。
コーリーS.

2

すべてのホストでbackuppcを使用しています。rsync受信側で実際に大量のRAMを使用したため、500GBのmaildirストアのみが問題でした。そのホストに対してtarおよびタイムスタンプベースの増分を使用するように切り替えました。


2

BackupExecの自由と、RALUS * NIXエージェント。簡単にエクスポートでき、SAMBAを必要とせず、エージェントによってもバックアップされるWindowsサーバーに適合します。


Unixエージェントはまだ無料ですか?最後にそれを見たとき、それに関連したライセンス費用がありました-少なくともBackupExec 10以前から無料だったので、驚きました。
ギャビンマクタガート

2

ディスクベースのシステム(テープ、オフサイト、または他のシステムではなく)を探している場合は、BackupPCを調べることをお勧めします。私たちはそれについて良い経験をしました。ファイルをプールしてディスク領域を有効に活用するのは良い仕事のようです。それは非常に設定可能で、私たちにとって堅実です。


2

私は私たちの店で現在使用しているBaculaをお勧めします。また、ウィンドウが必要な場合は、ウィンドウでも機能します。:)

別の提案はアマンダかもしれませんが、私はそれを使用したことがありませんが、2つはしばしば互いに比較されます。

Baculaは、ユーザー(またはシステム管理者)がさまざまな種類のコンピューターのネットワーク全体でコンピューターデータのバックアップ、回復、および検証を管理できるコンピュータープログラムのセットです。技術的には、ネットワーククライアント/サーバーベースのバックアッププログラムです。Baculaは比較的使いやすく効率的である一方、多くの高度なストレージ管理機能を提供し、紛失または破損したファイルを簡単に見つけて回復できるようにします。そのモジュラー設計により、Baculaは小さな単一のコンピューターシステムから大規模なネットワーク上にある数百台のコンピューターで構成されるシステムまで拡張可能です。



1

プロプライエタリの世界では、R1Softは非常に良い仕事をしています。無料でリリースされているデモツールをお試しください。

自由な世界では、lvmスナップショット、ddおよびnetcatを使用して迅速なバックアップを作成します。dm_snapshotがinitrdに存在することを確認してください:)


1

私は、backupninja wrapper bashスクリプトの幸せなユーザーです。debianでは標準リポジトリのパッケージとして利用可能です。

データのタイプに応じて、Andrew Cholakianが言及したrdiff-backupを直接使用するか、最初にLVMボリューム[tinkertimが言及]のスナップショットを作成してから、rdiff-backupを実行します。

rdiff-backupは、不良ネットワークリンクでは非常に効率的に機能しません。そのような場合、rdiff-backupをローカルで実行し、rsyncを使用してバックアップリポジトリをリモートサーバーと同期します。


1

どこにバックアップしますか?rsyncは、別のLinuxサーバーにバックアップしたい場合にディレクトリのコピーを同期させるための非常に貴重なツールです。以前のバックアップを取得することにより、時間ベースのバックアップを保持できます。基本的に毎回完全バックアップを取得していますが、変更されたファイルのみをプルします。rsyncを使用するbashスクリプトの例を次に示します。コメントを読むことを忘れないでください。

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

だれもDuplicityに言及していないとは信じられない。あまりお勧めできません。FTPからssh、S3までの複数のバックエンドがあり、暗号化(gpg)と増分バックアップを行います。復元プロセスは非常に簡単です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.