Conseils pour sauvegarder le serveur ubuntu

J'ai un serveur Ubuntu hébergeant une application web PHP5 / MySQL. J'ai également un autre serveur (hors site) avec un répertoire juste pour les sauvegardes de mon serveur webapp. Actuellement, j'ai un job cron simple qui effectue les opérations suivantes:

  1. Copies / var / www au répertoire de sauvegarde local. Commande: cp -ua /var/www /backup/www
  2. Effectue mysqldump de information_schema et la base de données de mon application et copie ces fichiers dans le répertoire de sauvegarde local.
  3. Montage du serveur de sauvegarde en tant que volume sshfs.
  4. Copie tous les fichiers du répertoire de sauvegarde local sur le volume sshfs.

Des questions:

  1. Est-ce une solution efficace ou un programme de sauvegarde dédié fonctionnerait-il mieux / plus rapidement?
  2. Est-ce que je couvre tout ce dont j'ai besoin? Par exemple: y at-il des fichiers de configuration auxquels je devrais également sauvegarder (PHP, Apache2, MySQL)?
  3. S'il existe un programme de sauvegarde dédié qui répondrait mieux à mes besoins, que recommanderiez-vous?

Merci pour tout conseil

3 Solutions collect form web for “Conseils pour sauvegarder le serveur ubuntu”

Je recommanderais quelque chose qui peut faire des sauvegardes incrémentielles, car de cette façon, vous pouvez revenir aux fichiers modifiés il y a plusieurs jours. Nous utilisons le dirvish pour cela (il est disponible à partir des repos ubuntu) – essentiellement, il s'agit d'un wrapper pour rsync écrit en perl qui facilite l'installation d'un système pour exécuter des sauvegardes incrémentielles régulières, puis les expirent en fonction des règles données.

Sur notre système, nous gardons les sauvegardes pendant 7 jours, mais gardez la première sauvegarde de la semaine pendant 1 mois et la première sauvegarde du mois pendant un an, de sorte que vous pouvez trouver des fichiers qui ont été modifiés et supprimés il y a quelque temps. Pour les choses qui sont petites, mais importantes, nous avons des délais d'expiration beaucoup plus longs.

En ce qui concerne ce que vous devriez sauvegarder, imo si vous avez sauvegardé l'espace, sauf si vous êtes sûr de ne pas avoir besoin de sauvegarder. Avec les sauvegardes rsync incrémentales, vous ne copiez que les fichiers qui ont changé depuis la dernière sauvegarde: j'aimerais avoir un extra 3gb de données statiques appartenant au système d'exploitation sur mon lecteur de sauvegarde que de trouver qu'il manquait un fichier important lorsque je Besoin de le récupérer.

Au minimum, je sauvegardais tout le contenu de / etc /, et la plupart des / var en fonction de ce qui se passait sur le serveur.

Si votre base de données mysql est assez petite, votre approche actuelle est probablement acceptable, mais comme vous devez verrouiller la base de données pour générer la vidange, cela n'est pas pratique dans les grandes bases de données. En raison de cela, beaucoup de gens exécutent un serveur mysql esclave, qui est juste une copie en lecture seule de la principale sur le serveur de sauvegarde, et utilisez-le pour générer des sauvegardes.

La documentation mysql sur la façon de faire cela est assez bonne, j'ai travaillé à ce sujet la première fois en soirée, sans beaucoup d'expérience mysql précédente.

Nous avons notre serveur mysql esclave lié à dirvish, donc chaque jour, il génère un vider de chaque base de données individuelle, ainsi qu'une copie complète de / var / lib / mysql (c'est arrêter le serveur mysql avant de le faire)

Voir la manière pratique et simple de sauvegarder mySQL & SVN sur la machine Ubuntu , ce qui résume assez bien ce dont vous avez besoin.

En bref;

  • Il existe quelques paquets standard; J'ai eu de bonnes expériences avec backupninja et rdiff-backup . Regardez ce qui est disponible, ce qui convient à vos besoins et choisissez-le.
  • Vous devez conserver une sauvegarde de /etc/ (configuration du serveur), toutes vos informations Web, données RCS, base de données. D'habitude, je copie également les répertoires de la maison, car j'ai généralement un tas de jolies petites scripts qui ne correspondent nulle part ailleurs et si je dois restaurer un serveur, il est vraiment agréable d'avoir une configuration «connue» du shell, Éditeur préféré, etc.
  • Pendant que vous faites ci-dessus, planifiez-vous, au moins dans votre tête, "que fais-je quand les choses ne vont pas?" (C.-à-d. Savoir ce qu'il y a dans votre sauvegarde et comment y remédier.)

J'ai mes serveurs sauvegardés tout ce dont j'avais besoin de sauvegarder sur un tar, puis il est copié sur une sauvegarde externe. Le script supprimera également les sauvegardes à partir de 7 jours. J'ai oublié où je l'ai trouvé, mais je ne l'ai pas écrit.

 !/bin/bash # fecha has a formated date fecha=`date +"%d-%m-%Y"` # Backup and gzip the directory sudo tar cvzpf /backups/backup-$fecha.tgz --same-owner --exclude="/export/*" --exclude="/backups/*" --exclude="/home/error.log" --exclude="/proc/*" --exclude="/media/*" --exclude="/dev/*" --exclude="/mnt/*" --exclude="/sys/*" --exclude="/tmp/*" / 2>/home/error.log # Rotate the logs, delete older than 7 days find /backups/ -mtime +7 -exec rm {} \; 
  • Comment reconnaîtra-t-on le "problème d'alimentation en cuillère" sur un server webapp web dynamic?
  • Une application de database est-elle dangereuse?
  • Comment get une list d'état du fournisseur d'authentification à partir d'IIS (pour un site Sharepoint)?
  • Comment créer un DNS fail-over pour les services Web?
  • Limites du pool d'applications
  • Déploiement de l'application Web - caisse ou non
  • Comment créer un user de l'application Web PostgreSQL avec des privilèges limités aussi facile que possible?
  • Comment héberger l'application R-Shiny avec MongoDB sur Azure
  • Maintenance gracieuse des applications web
  • Est-ce que la mise à jour des spécifications de mon server rendrait mon application plus rapide?
  • Comment envoyer tous les codes d'erreur HTTP de manière dynamic à un file PHP lorsque l'access à tous les autres files est refusé?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.