Quelle solution de sauvegarde que vous utilisez pour les serveurs Linux [fermé]


15

Quelles solutions de sauvegarde utilisez-vous pour le serveur Linux dans un environnement de production? Préférez-vous des produits open source ou commerciaux?

Qu'est-ce que vous considérez comme des fonctionnalités essentielles du logiciel de sauvegarde?

Quels produits déconseillez-vous? Existe-t-il des pièges courants dans la sélection des logiciels de sauvegarde?


Vieille question, cependant, LuckyBackup est également une réponse valide.
Nikos Alexandris

Réponses:


12

J'utilise le bacula openSource . C'est excellent - modèle serveur / client qui fonctionne sur Windows ou Linux. Il existe un bon support en ligne et une communauté de développeurs active.

Un peu difficile à configurer, mais possède toutes les fonctionnalités que vous pourriez souhaiter.

Il existe également un joli interface graphique Web appelé bweb qui peut être utilisé pour son fonctionnement quotidien.


Salut, j'essaie de déployer bacula dans mon bureau et c'est très délicat. Si vous avez une documentation d'installation, pouvez-vous la partager.
Caterpillar

Désolé, je viens d'utiliser la documentation en ligne.
Brent

7

En ce qui concerne les fonctionnalités essentielles, vous devez utiliser le bon outil pour le travail.

Si votre ensemble de données est petit et tient sur un seul volume, utilisez rsnapshot ou rdiff-backup. Les deux offrent une sauvegarde incrémentielle, sont très économes en espace et sont vraiment faciles à utiliser.

Pour les sauvegardes plus grandes ou plus sophistiquées qui ont un composant hors ligne, j'utilise Bacula, cela prend un certain temps à configurer correctement, mais il est solide comme le roc et possède quelques fonctionnalités. Je recommande de le coupler avec une interface web comme webacula.

Une bonne idée btw, pour chaque serveur que j'ai, j'utilise rdiff-backup pour garder une sauvegarde incrémentielle quotidienne de / etc dans / var / backups /, cela ne vous coûte rien et vous évitera beaucoup de maux de tête si vous ne pouvez pas comprendre pourquoi ce dernier changement dans un fichier de configuration provoque tant de ravages.


4

J'utilise rsync, à la fois sur le réseau de mon colo à mon domicile, et de ma box à un lecteur USB amovible que j'échange contre un que je garde dans mon bureau au travail. Le script ressemble un peu à ceci:

#!/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: ... pour rsync; J'utilise la même chose :-)
Jon Cage

LuckyBackup , basé sur rsync.
Nikos Alexandris

@NikosAlexandris, je n'utiliserais pas de produit de sauvegarde avec le mot "lucky" dans le nom - je n'aime pas la connotation "si vous avez de la chance, vous pourrez le restaurer".
Paul Tomblin

: D - Vérifiez les "récompenses" sur la page d'accueil du projet.
Nikos Alexandris

3

J'utilise jungledisk avec le stockage de fichiers cloud Rackspace. Il va juste tous les soirs et fait son truc, je lui dis juste quoi sauvegarder, et il garde même des révisions (en quelque sorte). Hors site et assez peu coûteux.


Moi aussi, j'adore Jungledisk. C'est simple.
Corey S.

2

J'utilise backuppc pour tous mes hôtes. Seul le magasin maildir de 500 Go était problématique car il rsyncutilisait vraiment trop de RAM du côté réception. Je suis passé à l'utilisation des incrémentaux de base tar et time-stamp pour cet hôte.


2

BackupExec , avec l'agent RALUS * NIX gratuit . Exporte facilement, ne nécessite pas SAMBA et s'intègre aux serveurs Windows qui sont également sauvegardés par des agents.


L'agent Unix est-il toujours gratuit? La dernière fois que je l'ai regardé, il y avait un coût de licence associé - ce qui m'a surpris, car il était libre d'au moins BackupExec 10 et antérieur.
Gavin McTaggart

2

Si vous recherchez un système basé sur disque (plutôt que sur bande ou hors site ou autre), je suggérerais de regarder BackupPC . Nous en avons une bonne expérience. Il semble faire un bon travail de mise en commun des fichiers pour tirer le meilleur parti de l'espace disque, il est très configurable et a été solide pour nous.


2

Je suggère Bacula que je l'utilise actuellement dans notre boutique. Il fonctionne également avec les fenêtres, si jamais vous en avez besoin. :)

Une autre suggestion pourrait être Amanda, mais je ne l'ai jamais utilisée, bien que les deux soient souvent comparés l'un à l'autre.

Bacula est un ensemble de programmes informatiques qui vous permettent (ou à l'administrateur système) de gérer la sauvegarde, la récupération et la vérification des données informatiques sur un réseau d'ordinateurs de différents types. En termes techniques, il s'agit d'un programme de sauvegarde basé sur un client / serveur réseau. Bacula est relativement facile à utiliser et efficace, tout en offrant de nombreuses fonctionnalités avancées de gestion du stockage qui facilitent la recherche et la récupération de fichiers perdus ou endommagés. En raison de sa conception modulaire, Bacula est évolutif de petits systèmes informatiques simples à des systèmes composés de centaines d'ordinateurs situés sur un grand réseau.


2

Ce document explique de manière très bonne et détaillée comment utiliser rsync pour les sauvegardes incrémentielles sous Linux.


1

Dans le monde propriétaire, R1Soft fait un très bon travail. Essayez les outils de démonstration qu'ils publient gratuitement.

Dans le monde libre, j'utilise des instantanés lvm, dd et netcat pour effectuer des sauvegardes rapides. Assurez-vous simplement que dm_snapshot existe dans votre initrd :)


1

je suis un utilisateur heureux du script bash de wrapper backupninja . il est disponible dans debian en tant que package dans le référentiel standard.

en fonction du type de données que j'utilise directement rdiff-backup mentionné par Andrew Cholakian, ou d'abord prendre un instantané du volume LVM [mentionné par tinkertim] puis exécuter rdiff-backup dessus.

rdiff-backup ne fonctionne pas très efficacement sur de mauvaises liaisons réseau, dans de tels cas, j'exécute rdiff-backup localement puis j'utilise rsync pour synchroniser le référentiel de sauvegarde avec le serveur distant.


1

Où souhaitez-vous sauvegarder? rsync peut être un outil précieux pour garder une copie des répertoires synchronisés si vous souhaitez sauvegarder sur un autre serveur Linux. Vous pouvez conserver des sauvegardes basées sur le temps en vous procurant une sauvegarde précédente. Vous obtenez essentiellement une sauvegarde complète à chaque fois, mais elle ne récupère que les fichiers qui ont été modifiés. Voici un exemple de script bash qui utilisera rsync, n'oubliez pas de lire les commentaires.

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

Qu'est-ce que vous considérez comme des fonctionnalités essentielles du logiciel de sauvegarde?

  • Pouvoir restaurer très facilement
  • Ne gaspille pas le stockage ou la bande passante pour les sauvegardes

0

Je ne peux pas croire que personne n'ait mentionné Duplicity . Je ne le recommanderai jamais assez. Il a plusieurs backends - de FTP à ssh en S3 - et fait du chiffrement (gpg) et des sauvegardes incrémentielles, et le processus de restauration est terriblement facile.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.