¿Qué solución de respaldo utiliza para los servidores de Linux [cerrado]


15

¿Qué soluciones de respaldo utiliza para el servidor Linux en el entorno de producción? ¿Prefieres productos de código abierto o comerciales?

¿Cuáles considera que son características esenciales en el software de respaldo?

¿Qué productos no recomiendas? ¿Hay algún inconveniente común en la selección de software de respaldo?


Antigua pregunta, sin embargo, LuckyBackup también es una respuesta válida.
Nikos Alexandris

Respuestas:


12

Yo uso el OpenSource Bacula . Es excelente: modelo de servidor / cliente que funciona en Windows o Linux. Existe un buen soporte en línea y una comunidad de desarrolladores activa.

Un poco complicado de configurar, pero tiene todas las características que podrías desear.

También hay una buena interfaz gráfica de usuario web llamada bweb que se puede utilizar para el funcionamiento diario de la misma.


Hola, estoy intentando desplegar bacula en mi oficina y es muy complicado. Si tiene alguna documentación de instalación, ¿puede compartirla?
Caterpillar

Lo siento, acabo de usar la documentación en línea.
Brent

7

En cuanto a las funciones esenciales, debe utilizar la herramienta adecuada para el trabajo.

Si su conjunto de datos es pequeño y cabe en un solo volumen, use rsnapshot o rdiff-backup. Ambos ofrecen copias de seguridad incrementales, ahorran mucho espacio y son realmente fáciles de usar.

Para las copias de seguridad más grandes o más sofisticadas que tienen un componente fuera de línea, uso Bacula, lleva un tiempo configurarlo correctamente, pero es sólido como una roca y tiene bastantes características. Recomiendo acoplarlo con una interfaz web como webacula.

Una buena idea, por cada servidor que tengo, utilizo rdiff-backup para mantener una copia de seguridad incremental diaria de / etc en / var / backups /, no cuesta nada y le ahorrará muchos dolores de cabeza si no puede resolver por qué ese último cambio en un archivo de configuración está causando tantos estragos.


4

Uso rsync, tanto a través de la red desde mi colo hasta mi casa, y desde mi caja de inicio a una unidad USB extraíble que cambio por una que guardo en mi escritorio en el trabajo. El guión se parece a esto:

#!/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: ... para rsync; Yo uso lo mismo :-)
Jon Cage

LuckyBackup , basado en rsync.
Nikos Alexandris

@NikosAlexandris, no usaría un producto de respaldo con la palabra "afortunado" en el nombre; no me gusta la connotación de que "si tienes suerte, podrás restaurarlo".
Paul Tomblin

: D - Verifique los "premios" en la página de inicio del proyecto.
Nikos Alexandris

3

Yo uso jungledisk con el almacenamiento de archivos en la nube Rackspace. Simplemente va todas las noches y hace lo suyo, solo le digo qué hacer una copia de seguridad, e incluso mantiene revisiones (más o menos). Fuera del sitio, y bastante barato.


Yo también amo a Jungledisk. Es sencillo.
Corey S.

2

Estoy usando backuppc para todos mis hosts. Solo la tienda Maildir de 500 GB era problemática porque rsyncrealmente usaba demasiada RAM en el lado receptor. Cambié a usar incrementos base de tar y sello de tiempo para ese host.


2

BackupExec , con el agente gratuito RALUS * NIX . Se exporta fácilmente, no requiere SAMBA y se adapta a los servidores de Windows que también están respaldados por agentes.


¿El agente de Unix sigue siendo gratuito? La última vez que lo miré hubo un costo de licencia asociado, lo que me sorprendió, ya que estaba libre de al menos BackupExec 10 y anteriores.
Gavin McTaggart

2

Si está buscando un sistema basado en disco (en lugar de cinta o fuera del sitio o algo así), le sugiero que busque en BackupPC . Hemos tenido una buena experiencia con eso. Parece hacer un buen trabajo al agrupar archivos para obtener un buen uso del espacio en disco, es muy configurable y ha sido muy sólido para nosotros.


2

Sugeriría a Bacula que actualmente lo uso en nuestra tienda. También funciona con Windows, si alguna vez lo necesita. :)

Otra sugerencia podría ser Amanda, sin embargo, nunca la he usado, aunque a menudo se comparan entre sí.

Bacula es un conjunto de programas informáticos que le permiten a usted (o al administrador del sistema) administrar copias de seguridad, recuperación y verificación de datos informáticos en una red de computadoras de diferentes tipos. En términos técnicos, es un programa de respaldo basado en cliente / servidor de red. Bacula es relativamente fácil de usar y eficiente, al tiempo que ofrece muchas funciones avanzadas de administración de almacenamiento que facilitan la búsqueda y recuperación de archivos perdidos o dañados. Debido a su diseño modular, Bacula es escalable desde pequeños sistemas de computadoras individuales hasta sistemas que consisten en cientos de computadoras ubicadas en una red grande.


2

Este documento explica de una manera muy buena y detallada cómo usar rsync para copias de seguridad incrementales en Linux.


1

En el mundo propietario, R1Soft está haciendo un muy buen trabajo. Pruebe las herramientas de demostración que lanzan gratis.

En el mundo libre, uso instantáneas lvm, dd y netcat para hacer copias de seguridad rápidas. Solo asegúrese de que dm_snapshot exista en su initrd :)


1

Soy un usuario feliz del script backupninja wrapper bash. Está disponible en Debian como paquete en el repositorio estándar.

dependiendo del tipo de datos que uso directamente rdiff-backup mencionado por Andrew Cholakian, o primero tomo una instantánea del volumen LVM [mencionado por tinkertim] y luego ejecuto rdiff-backup en él.

rdiff-backup no funciona muy eficientemente sobre enlaces de red defectuosos, en tales casos ejecuto rdiff-backup localmente y luego uso rsync para sincronizar el repositorio de respaldo con el servidor remoto.


1

¿Dónde te gustaría hacer una copia de seguridad? rsync puede ser una herramienta invaluable para mantener sincronizada una copia de directorios si desea hacer una copia de seguridad en otro servidor Linux. Puede mantener copias de seguridad basadas en el tiempo obteniendo una copia de seguridad anterior. Básicamente, obtendrá una copia de seguridad completa cada vez, pero solo extraerá los archivos que hayan cambiado. Aquí hay un ejemplo de script bash que usará rsync, no olvides leer los comentarios.

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

¿Cuáles considera que son características esenciales en el software de respaldo?

  • Poder restaurar muy fácilmente
  • No desperdicia almacenamiento o ancho de banda para las copias de seguridad

0

No puedo creer que nadie haya mencionado Duplicidad . No puedo recomendarlo lo suficiente. Tiene múltiples backends, desde FTP hasta ssh y S3, y hace cifrado (gpg) y copias de seguridad incrementales, y el proceso de restauración es terriblemente fácil.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.