Quels dossiers sauvegarder (ou pas) sur un serveur?

Bonjour à tous,

Je suis en train de mettre en place Obnam pour la gestion de mes backups sur deux VPS (serveurs virtuels). Je vais stocker les backups sur un espace monté sur le serveur avec sshfs.

Je me demande maintenant quels sont les dossiers importants à sauvegarder et ceux qui sont inutiles.

Par exemple, dans le cas où je devrais reconstruire à partir de zéro, j’ai uniquement besoin de retrouver mes configurations (donc /etc/), mon home, mes bases de données (voir avec mysqldump?) et mon dossier web ( donc /var/www/).

Y a-t-il autre chose que je loupe? :slight_smile:

J’ajouterai éventuellement le retour de la commande dpkg --get-selections dans ta sauvegarde, sinon, je ne vois pas…

Bonne idée! J’ajoute ça dans ma petite liste. :slight_smile:

Le «/home» aussi je dirais, surtout si tu y a tes scripts et tout.

Ou le /opt, si tu les as mis dans /opt.

@Mimoza: J’ai déjà noté le home plus haut mais merci. :slight_smile:

@Almtesh: Ahhh! C’est à ça que sert ce dossier? :stuck_out_tongue:

Bonjour,

Personnellement je copie aussi :

  • la liste des liens symboliques
  • la liste des paquets installés
  • la taille et le format des partitions disques
  • les crontab (/var/spool/cron/crontabs/*)
  • /usr/local
  • /opt

Dans la copie des fichiers de /etc il faut vérifier qu’il sont tous copiés si le user utilisé pour la sauvegarde est autre que root. Certains fichiers comme de /etc/sudoers ont des droits si restrictifs (et à juste raison) qu’on ne peut les lire.

A+

Merci @jelopo pour toutes ces idées.

Comment sauvegardes-tu la liste des liens symboliques ?
Je me demandais si je n’allais pas sauvegarder tout “/var/” pour avoir aussi les logs…

find / -type l -exec ls -l {} \; > /tmp/liste_liens.txt
1 J'aime

@jelopo, Je viens de lancer ta commande… Ça génère un fichier de ~20 000 lignes. Je suis assez curieux de voir comment tu traites ça dans l’autre sens (quand tu dois restaurer, je veux dire).

C’est juste de la curiosité pour le coup.

salut
j’ai un script système pour avoir des infos en cas de besoin http://www.dindoun.lautre.net/spip.php?article4
je trouve que dpkg --get-selections ne suffit pas car il oublie les versions et je préfère dpkg -l

y a quoi d’intéressant dans /usr/local ?

@jelopo
En fait je suis “un peu” plus restrictif sur la commande je ne cherche que les liens symboliques que j’ai créé dans ma home directory. Et du coup je peux les recréer à la main vu que je n’en ai qu’une dizaine !

@dindoun
Certains logiciels ou commandes installées à la mano se trouvent parfois dans /usr/local/bin en les installant à l’arrache avec (configure; make; make install)
Je ne sais pas si c’est une bonne idée, mais lorsque je récupère des projets git dans /opt/nom_du_projet, je crée un lien symbolique (encore un !) dans /usr/local/bin. Du coup comme /usr/local/bin est dans le PATH, je peux lancer ses commandes de n’importe où.

A+

@jelopo:
Je comprends mieux. :slight_smile:

@dindoun:
Je trouve la commande à copier/coller assez imbuvable et illisible… Ne serait-ce pas plus simple pour toi de faire un script shell plus propre ?

tu as raison
il est en bas le fichier mais je n’avais pas mis à jour le site
mais toujours en une ligne
l’idée est de pouvoir - au pire - demander à quelqu’un de copier ça et de m’envoyer le fichier en pièces jointes

mais mon expérience est que peu de personnes utilisent ce script; j’en suis à la sous version 7 de la version 9 ( commencée sous dapper ) donc comme ça ca me va
chaque commande est séparée par un point virgule

attention quand même : ca crée un fichier .tar dans tous les /home/machin/Bureau/ et dans /root/
avec une commande toute pourrie :slight_smile: for i in $(ls /home/);do cp br_systeme_$( hostname )_$temps.tar /home/$i/Bureau/ ; cp br_systeme_$( hostname )_$temps.tar /home/$i/Desktop/ ;