Je sauvegarde un serveur Linux et le stocke sur un autre serveur.
J'ai commencé avec un simple
rsync -aPh --del server.example.com:/ /mnt/backup
Ensuite, quelqu'un a fait remarquer que je ne devais pas sauvegarder /proc
, car vous ne voulez pas restaurer le /proc
serveur d'un serveur sur un autre.
Y a-t-il autre chose que je devrais / ne devrais pas inclure?
Par exemple, qu'en est-il /sys
?
/boot
tout à fait - vous devrez peut-être comparer l'ancienne configuration de démarrage avec la nouvelle configuration de démarrage. Veillez simplement à ne pas restaurer/boot
sauf manuellement.Les deux
/proc
et/sys
sont systèmes de fichiers virtuels qui reflètent l'état du système, et vous permettent de modifier plusieurs paramètres d'exécution (et parfois faire des choses plus dangereuses, comme écrire directement à la mémoire ou à un appareil). Vous ne devriez jamais les sauvegarder ou les restaurer.Dans la plupart des distributions modernes, il
/dev
est créé dynamiquement au démarrage (il s’agit d’un système de fichiers mémoire rempli parudev
et ses amis). Il ne sert à rien de le sauvegarder, et tenter de le restaurer est futile. Cependant, si votre distribution est configurée pour utiliser un statique/dev
, cela ne s'applique pas (cochez/proc/mounts
, s'il/dev
s'agit d'untmpfs
système de fichiers en mémoire).Il y a d'autres systèmes de fichiers que vous ne devriez pas sauvegarder;
usbfs
(habituellement à/proc/bus/usb
, si elle est montée du tout),debugfs
(censé être au/sys/kernel/debug
cas monté du tout, mais certaines personnes le mettre quelque part ailleurs, vous ne probablement pas celui - ci),devpts
(monté à/dev/pts
), d' autrestmpfs
instances (souvent à/dev/shm
,/var/run
,/var/lock
Les sauvegarder et les restaurer devraient être inoffensifs mais inutiles, car leur contenu est perdu à l’arrêt), et tout système de fichiers distant ou tout répertoire magique d’auto-monteurs (toute tentative de sauvegarde ou de restauration risque d’être catastrophique, sauvegarder / restaurer sur une autre machine ). Vous devriez aussi faire attention avec/media
et/mnt
Vous pouvez y trouver des périphériques externes (tels que des CD oubliés dans le lecteur), mais vous les avez peut-être aussi utilisés exprès pour monter quelque chose qui devrait être sauvegardé.Notez que, autres que la plupart du temps inoffensifs
tmpfs
cas, les systèmes de fichiers réseau / monteurs automatiques et les supports amovibles, les systèmes de fichiers que vous ne devriez pas sauvegarder sont tous les descendants de/dev
,/proc
ou/sys
. Si vous n'avez pas de réseau (systèmes de fichiers ou), et monteurs automatiques de support amovible, à l' exclusion/sys
et/proc
et le redémarrage après une restauration (pour essuyer lestmpfs
instances) devrait être suffisant.la source
Voir Le tao de la sauvegarde , chapitre 1.
la source
Certains des fichiers spéciaux dans / proc et / sys confondent rsync. Vous ne voulez généralement pas sauvegarder non plus les systèmes de fichiers montés sur le réseau. Les fichiers fragmentés peuvent également causer des problèmes.
Ajoutez -x pour le limiter à un système de fichiers. Cela évite tous les systèmes de fichiers réseau et / proc, etc. Cependant, vous devez ensuite exécuter un rsync pour chaque système de fichiers que vous avez monté.
Ajoutez -S pour gérer judicieusement les fichiers fragmentés.
la source
Les sauvegardes de / boot, / dev et / proc sont plutôt inutiles - cependant, si vous savez ce que vous faites, vous pouvez sauvegarder / boot.
Je ne voudrais pas non plus sauvegarder / lib, / media, / mnt, / sbin, / bin, / srv, / sys ou / tmp.
/ usr est facultatif, selon que vous avez ou non quelque chose à sauvegarder dans / usr. Si j’étais vous, je me soucierais surtout de la sauvegarde des $ HOMEs, / var et / etc (pour les fichiers de configuration) des utilisateurs.
Encore une fois, tout dépend du type de sauvegarde que vous souhaitez effectuer. Est-ce un serveur web? Est-ce un ordinateur personnel? Est-ce un serveur shell avec des tonnes de répertoires sous / home?
la source
rsync
vous, copiez non seulement ce que vous avez utilisé, mais activez également la synchronisation, pour pouvoir exécuter en toute sécurité un travail cron.Vous pouvez réaliser une sauvegarde totale en utilisant sfdisk et dd.
Pour sauvegarder le schéma de partition de chaque disque dur, utilisez sfdisk comme ceci:
Pour sauvegarder chaque partition, vous pouvez utiliser dd, comme ceci:
Où
/dev/sda1
est démonté, par exemple avec un démarrage en direct-CD.(N'oubliez pas que vous aurez besoin de beaucoup d'espace libre pour écrire ce fichier; vous voudrez peut-être l'écrire sur un support externe) Faites cela pour chaque partition, une par une, et sauvegardez tout.
Ensuite, pour restaurer sur un autre ordinateur, vous pouvez faire:
la source
dd if=/dev/urandom of=/dev/sdb bs=512 count=12
effacer le MBR et la table de partition du lecteur cible.Au lieu d'exclure, je ne sauvegarde généralement que ce que je veux. Y compris:
/home
/etc
/var
(sauf/var/log
)la source
Fondamentalement, les pseudo-systèmes de fichiers (/ proc, / sys, / dev / shm ...) n'ont pas besoin d'être sauvegardés.
la source
Comme l'a souligné cette grande communauté:
/ dev / proc / sys / tmp / run / media / lost + found / boot (/ boot est facultatif, voir les autres commentaires)
Pour référence, ma dernière commande rsync (sous Arch avec un support externe monté dans '/ run / media / fred / INTENSO /' et sauvegardée dans un dossier nommé 'fred') est la suivante:
$ sudo rsync -Pazhmxv --exclude / run / media --exclude / dev --exclude / lost + trouvé --exclude / tmp --exclude / proc --exclude / boot --exclude / sys / / run / media / fred / INTENSO / fred /.
(Les fichiers exclus peuvent également être spécifiés avec des accolades (--exclude = {/ dev, / proc}) sous Bash ou avec un fichier texte (--exclude-from = 'excude.txt')).
-P: affiche la progression -a: mode d'archivage -z: compresse pendant le transfert -h: affiche les nombres dans un format lisible par l'homme -m: élimine les répertoires vides -x: limite à un système de fichiers -v: verbose
la source
Je suis sur une machine Ubuntu 18.04 et j'ai ces exclus:
En outre, spécifiquement pour ma configuration, j'exclus ces:
la source
Je fais généralement une habitude de sauvegarder tout sur un système, même les choses que je sais que pour certains est inutile de sauvegarder. C'est plus simple à configurer et vous pouvez être sûr à 100% que tout ce dont vous avez besoin est inclus dans la sauvegarde.
la source
/proc
et/dev
ne pas confondre pauvre petitrsync
.J'utilise une machine Linux Ubuntu comme serveur de test pour le développement de sites Web et pour l'hébergement d'un wiki de documentation. Chaque nuit, une crontab vide la base de données MySQL dans / var / www, puis tout / var / www est compressé et répliqué sur le serveur de sauvegarde. Ce n'est pas idéal, mais c'est suffisant. J'ai dû reconstruire le serveur à un moment donné, et tout ce qui m'a vraiment manqué, ce sont les fichiers de configuration Apache et Samba.
la source
Je suppose que vous n'avez pas Linux sur une machine virtuelle. Si possible, je vous conseille vivement de passer à la virtualisation. Les sauvegardes au niveau vm représentent un tout nouveau niveau de cohérence et de facilité d'utilisation. Il existe des outils de virtualisation gratuits, vous n'avez donc pas besoin d'investir dans VmWare ou dans d'autres outils monstres coûteux.
la source
Question: Quels répertoires dois-je exclure lors de la sauvegarde d'un serveur?
Voici un script que j'utilise souvent, d'un ordinateur portable Ubuntu 16.04 LTS à un serveur Ubuntu 16.04 LTS. Il indique clairement quels répertoires doivent être ignorés lors d’une sauvegarde complète:
Notez l'exclusion de
/mnt
- où chaque système Ubuntu a un lecteur de sauvegarde permanent monté pourrsync
les sauvegardes automatiques cron 4 fois par jour. Ces lecteurs sont montés par des entréesfstab
et sont toujours présents. Les inclure dans une sauvegarde sur un autre système serait une duplication.De même,
/media
c'est là que les lecteurs USB sont montés. Ils sont sauvegardés séparément.la source