Solusi cadangan apa yang Anda gunakan untuk server linux [ditutup]

15

Solusi cadangan apa yang Anda gunakan untuk server linux di lingkungan produksi? Apakah Anda lebih suka produk open source atau komersial?

Apa yang Anda anggap sebagai fitur penting dalam perangkat lunak cadangan?

Produk mana yang tidak Anda rekomendasikan? Apakah ada jebakan umum dalam pemilihan perangkat lunak cadangan?

Juha Syrjälä
sumber
Namun, pertanyaan lama, LuckyBackup juga merupakan jawaban yang valid.
Nikos Alexandris

Jawaban:

12

Saya menggunakan bacula openSource . Ini luar biasa - model server / klien yang bekerja di windows atau linux. Ada dukungan online yang bagus, dan komunitas pengembang yang aktif.

Agak sulit untuk diatur, tetapi memiliki semua fitur yang Anda inginkan.

Ada juga web gui bagus yang disebut bweb yang dapat digunakan untuk operasi sehari-hari.

Brent
sumber
Hai, saya mencoba menyebarkan bacula di kantor saya dan ini sangat rumit. Jika Anda memiliki dokumentasi instalasi apa pun dapat Anda bagikan ..
Caterpillar
Maaf, saya baru saja menggunakan dokumentasi online.
Brent
7

Sejauh fitur penting pergi, Anda perlu menggunakan alat yang tepat untuk pekerjaan itu.

Jika kumpulan data Anda kecil dan sesuai dengan volume tunggal, gunakan rsnapshot atau rdiff-backup. Keduanya menawarkan cadangan tambahan, sangat hemat ruang, dan sangat mudah digunakan.

Untuk cadangan yang lebih besar atau lebih canggih yang memiliki komponen offline yang saya gunakan Bacula, perlu beberapa saat untuk melakukan setup dengan benar, tetapi ini sangat solid dan memiliki beberapa fitur. Saya merekomendasikan untuk memasangkannya dengan antarmuka web seperti webacula.

Satu ide bagus btw, untuk setiap server yang saya miliki, saya menggunakan rdiff-backup untuk menyimpan cadangan inkremental harian dari / etc di / var / backups /, tidak ada biaya apapun dan akan menghemat banyak sakit kepala jika Anda tidak tahu mengapa perubahan terakhir ke file konfigurasi menyebabkan begitu banyak kekacauan.

Andrew Cholakian
sumber
4

Saya menggunakan rsync, baik melalui jaringan dari colo saya ke rumah saya, dan dari kotak rumah saya ke drive USB yang dapat dilepas yang saya tukarkan dengan yang saya simpan di meja saya di tempat kerja. Skripnya terlihat seperti ini:

#!/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
Paul Tomblin
sumber
+1: ... untuk rsync; Saya menggunakan hal yang sama :-)
Jon Cage
LuckyBackup , berdasarkan rsync.
Nikos Alexandris
@NikosAlexandris, saya tidak akan menggunakan produk cadangan dengan kata "lucky" dalam nama - Saya tidak suka konotasi bahwa "jika Anda beruntung, Anda akan dapat mengembalikannya".
Paul Tomblin
: D - Periksa "penghargaan" di beranda proyek.
Nikos Alexandris
3

Saya menggunakan jungledisk dengan penyimpanan file cloud Rackspace. Itu hanya berjalan setiap malam dan melakukan hal itu, saya hanya mengatakan apa yang harus dicadangkan, dan bahkan terus revisi (semacam). Di luar kantor, dan cukup murah.

Daniel Huckstep
sumber
Saya juga suka Jungledisk. Mudah saja.
Corey S.
2

Saya menggunakan backuppc untuk semua host saya. Hanya maildir store 500GB yang bermasalah karena rsyncbenar-benar menggunakan terlalu banyak RAM di sisi penerima. Saya beralih menggunakan tambahan basis tar dan cap waktu untuk host itu.

David Schmitt
sumber
2

BackupExec , dengan agen RALUS * NIX gratis . Ekspor mudah, tidak memerlukan SAMBA, dan cocok dengan server Windows yang juga didukung oleh agen.

Mark Brackett
sumber
Apakah agen Unix masih gratis? Terakhir kali saya melihatnya ada biaya lisensi yang terkait dengannya - yang mengejutkan saya, karena bebas dari setidaknya BackupExec 10 dan sebelumnya.
Gavin McTaggart
2

Jika Anda mencari sistem berbasis disk (daripada tape atau luar kantor atau sesuatu), saya sarankan melihat BackupPC . Kami memiliki pengalaman yang baik dengannya. Tampaknya melakukan pekerjaan yang baik untuk mengumpulkan file agar dapat digunakan dengan baik dari ruang disk, ini sangat dapat dikonfigurasi dan telah menjadi batu yang kokoh bagi kami.

kuda pucat
sumber
2

Saya sarankan Bacula saya saat ini menggunakannya di toko kami. Ini juga berfungsi dengan windows, jika Anda merasa perlu melakukannya. :)

Saran lain mungkin Amanda, namun saya belum pernah menggunakannya, meskipun keduanya sering dibandingkan satu sama lain.

Bacula adalah serangkaian program komputer yang memungkinkan Anda (atau administrator sistem) untuk mengelola cadangan, pemulihan, dan verifikasi data komputer di seluruh jaringan komputer dari berbagai jenis. Dalam istilah teknis, ini adalah program cadangan berbasis jaringan Klien / Server. Bacula relatif mudah digunakan dan efisien, sambil menawarkan banyak fitur manajemen penyimpanan canggih yang membuatnya mudah untuk menemukan dan memulihkan file yang hilang atau rusak. Karena desain modularnya, Bacula dapat diubah dari sistem komputer tunggal kecil menjadi sistem yang terdiri dari ratusan komputer yang terletak di jaringan besar.

bobbyrcox
sumber
2

Dokumen ini menjelaskan dengan cara yang sangat bagus dan terperinci bagaimana menggunakan rsync untuk cadangan tambahan di Linux.

Luke
sumber
1

Di dunia hak milik, R1Soft melakukan pekerjaan yang sangat baik. Coba alat demo yang mereka rilis gratis.

Di dunia bebas, saya menggunakan snapshot lvm, dd dan netcat untuk membuat backup cepat. Pastikan dm_snapshot ada di initrd Anda :)

Pos Tim
sumber
1

Saya senang pengguna skrip bash backupninja wrapper. ini tersedia di debian sebagai paket dalam repositori standar.

tergantung pada tipe data yang saya gunakan secara langsung rdiff-backup yang disebutkan oleh Andrew Cholakian, atau pertama-tama ambil snapshot volume LVM [disebutkan oleh tinkertim] dan kemudian jalankan rdiff-backup di atasnya.

rdiff-backup tidak berfungsi dengan sangat efisien melalui tautan jaringan yang buruk, dalam kasus seperti itu saya menjalankan rdiff-backup secara lokal dan kemudian menggunakan rsync untuk menyinkronkan repositori cadangan dengan server jauh.

pQd
sumber
1

Di mana Anda ingin membuat cadangan? rsync dapat menjadi alat yang sangat berharga untuk menyimpan salinan direktori dalam sinkronisasi jika Anda ingin membuat cadangan ke server linux lain. Anda dapat menyimpan cadangan berbasis waktu dengan sumber cadangan sebelumnya. Anda pada dasarnya mendapatkan cadangan penuh setiap kali tetapi hanya akan menarik file yang telah berubah. Berikut ini contoh skrip bash yang akan menggunakan rsync, jangan lupa membaca komentar.

#!/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
TrueDuality
sumber
0

Dirvish

Apa yang Anda anggap sebagai fitur penting dalam perangkat lunak cadangan?

  • Mampu memulihkan dengan sangat mudah
  • Tidak menyia-nyiakan penyimpanan atau bandwidth untuk cadangan
Sakit kepala
sumber
0

Saya tidak percaya tidak ada yang menyebutkan Duplicity . Saya sangat merekomendasikannya. Ini memiliki beberapa backend - dari FTP ke ssh ke S3 - dan melakukan enkripsi (gpg) dan cadangan tambahan, dan proses pemulihannya sangat mudah.

pjz
sumber