Quale soluzione di backup usi per i server linux [chiuso]


15

Quali soluzioni di backup utilizzate per il server Linux nell'ambiente di produzione? Preferisci prodotti open source o commerciali?

Quali consideri funzionalità essenziali nel software di backup?

Quali prodotti non mi consigliate? Ci sono insidie ​​comuni nella selezione del software di backup?


Vecchia domanda, tuttavia, LuckyBackup è anche una risposta valida.
Nikos Alexandris,

Risposte:


12

Uso la bacula openSource . È eccellente - modello server / client che funziona su Windows o Linux. C'è un buon supporto online e una comunità di sviluppatori attiva.

Un po 'complicato da configurare, ma ha tutte le funzionalità che potresti desiderare.

C'è anche una bella interfaccia web chiamata bweb che può essere utilizzata per il suo funzionamento quotidiano.


Ciao, sto provando a distribuire bacula nel mio ufficio ed è molto complicato. Se si dispone di documentazione di installazione, è possibile condividerla.
Caterpillar,

Spiacente, ho appena usato la documentazione online.
Brent,

7

Per quanto riguarda le funzionalità essenziali, è necessario utilizzare lo strumento giusto per il lavoro.

Se il set di dati è piccolo e si adatta a un singolo volume, utilizzare rsnapshot o rdiff-backup. Entrambi offrono un backup incrementale, sono molto efficienti in termini di spazio e sono davvero facili da usare.

Per i backup più grandi o più sofisticati che hanno un componente offline che uso Bacula, ci vuole un po 'di tempo per installarlo correttamente, ma è solido come una roccia e ha alcune funzionalità. Consiglio di abbinarlo a un'interfaccia web come webacula.

Una buona idea a proposito, per ogni server che ho uso rdiff-backup per mantenere un backup incrementale giornaliero di / etc in / var / backups /, non ti costa nulla e ti farà risparmiare un sacco di mal di testa se non riesci a capire perché l'ultima modifica a un file di configurazione sta causando così tanto caos.


4

Uso rsync, sia in rete dal mio colo a casa mia, sia dalla mia casella di casa a un'unità USB rimovibile che sostituisco con una che tengo nella mia scrivania al lavoro. La sceneggiatura sembra in questo modo:

#!/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: ... per rsync; Uso la stessa cosa :-)
Jon Cage,

LuckyBackup , basato su rsync.
Nikos Alexandris,

@NikosAlexandris, non userei un prodotto di backup con la parola "fortunato" nel nome - non mi piace la connotazione che "se sei fortunato, sarai in grado di ripristinarlo".
Paul Tomblin,

: D - Controlla i "premi" nella homepage del progetto.
Nikos Alexandris,

3

Uso jungledisk con l'archiviazione di file cloud Rackspace. Va ogni notte e fa la sua cosa, dico solo cosa fare il backup e mantiene anche le revisioni (una sorta di). Offsite e abbastanza economico.


Anch'io amo Jungledisk. È semplice.
Corey S.

2

Sto usando backuppc per tutti i miei host. Solo il negozio maildir da 500 GB era problematico perché rsyncutilizzava davvero troppa RAM sul lato ricevente. Sono passato all'utilizzo di incrementali di base tar e timestamp per quell'host.


2

BackupExec , con l' agente gratuito RALUS * NIX . Esporta facilmente, non richiede SAMBA e si adatta ai server Windows che sono anche sottoposti a backup dagli agenti.


L'agente Unix è ancora gratuito? L'ultima volta che l'ho visto c'era un costo di licenza associato ad esso - che mi ha sorpreso, dato che era gratuito da almeno BackupExec 10 e precedenti.
Gavin McTaggart,

2

Se stai cercando un sistema basato su disco (piuttosto che nastro o fuori sede o qualcosa del genere), suggerirei di guardare BackupPC . Abbiamo avuto una buona esperienza con esso. Sembra fare un buon lavoro nel raggruppare i file per sfruttare al meglio lo spazio su disco, è molto configurabile ed è stato solido per noi.


2

Suggerirei Bacula che attualmente lo uso nel nostro negozio. Funziona anche con Windows, se mai ne hai bisogno. :)

Un altro suggerimento potrebbe essere Amanda, tuttavia non l'ho mai usato, sebbene i due siano spesso confrontati tra loro.

Bacula è un insieme di programmi per computer che consentono all'utente (o all'amministratore di sistema) di gestire il backup, il ripristino e la verifica dei dati del computer attraverso una rete di computer di diverso tipo. In termini tecnici, si tratta di un programma di backup basato su client / server di rete. Bacula è relativamente facile da usare ed efficiente, offrendo al contempo molte funzionalità avanzate di gestione della memoria che consentono di trovare e recuperare facilmente file persi o danneggiati. Grazie al suo design modulare, Bacula è scalabile da piccoli sistemi a singolo computer a sistemi costituiti da centinaia di computer situati su una grande rete.



1

Nel mondo proprietario, R1Soft sta facendo un ottimo lavoro. Prova gli strumenti demo che rilasciano gratuitamente.

Nel mondo libero, utilizzo snapshot lvm, dd e netcat per eseguire backup rapidi. Assicurati solo che dm_snapshot esista nel tuo initrd :)


1

sono felice utente dello script bash wrapper backupninja . è disponibile in debian come pacchetto nel repository standard.

a seconda del tipo di dati che utilizzo direttamente rdiff-backup menzionato da Andrew Cholakian, oppure prima eseguo un'istantanea del volume LVM [menzionato da tinkertim] e quindi eseguo rdiff-backup su di esso.

rdiff-backup non funziona in modo molto efficiente su collegamenti di rete errati, in questi casi eseguo rdiff-backup localmente e quindi utilizzo rsync per sincronizzare il repository di backup con il server remoto.


1

Dove vorresti fare il backup? rsync può essere uno strumento prezioso per mantenere sincronizzata una copia delle directory se si desidera eseguire il backup su un altro server Linux. È possibile mantenere i backup basati sul tempo acquistando un backup precedente. In pratica si ottiene sempre un backup completo ogni volta, ma verranno estratti solo i file che sono stati modificati. Ecco un esempio di script bash che utilizzerà rsync, non dimenticare di leggere i commenti.

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

Quali consideri funzionalità essenziali nel software di backup?

  • Essere in grado di ripristinare molto facilmente
  • Non spreca spazio di archiviazione o larghezza di banda per i backup

0

Non posso credere che nessuno abbia menzionato Duplicity . Non posso raccomandarlo abbastanza. Ha più backend - da FTP a ssh a S3 - ed esegue crittografia (gpg) e backup incrementali, e il processo di ripristino è terribilmente facile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.