Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Par JohntronJohntron SpeaksSuivez plus par l'auteur:
À propos: Développeur de logiciels, co-fondateur de Placethings et technologue. Étudie actuellement à l'école supérieure du programme Emerging Media and Communications de l'Université du Texas à Dallas. En savoir plus sur Johntron »
Apprenez à sauvegarder votre *nix box sur un disque dur externe (ou un lecteur de bande sans trop d'effort). Je couvre l'installation du support de sauvegarde, l'utilisation de « dump », la restauration et la sauvegarde de fichiers à partir d'un serveur distant sur un disque dur externe. Pour sauvegarder un PC Windows, lisez l'article de lifehacker.com ici.: Faites un `dump`Étape 3: `restaurerÉtape 4: Sauvegardes à distanceÉtape 5: Automatisation Le logo FreeBSD est une marque déposée de The FreeBSD Foundation et est utilisé par John Syrinek avec la permission de The FreeBSD Foundation.
Étape 1: préparez les choses
Avant de faire une sauvegarde, vous devez avoir quelque chose à sauvegarder. Traditionnellement, il s'agissait de lecteurs de bande; cependant, un disque dur externe (de qualité) fonctionnera très bien. Vous n'êtes pas obligé d'utiliser un disque dur externe, mais avec un disque dur externe, vous avez la possibilité de ramener le disque dur à la maison (ou à un autre emplacement hors site). J'ai utilisé quelques Western Digital MyBook. Circuit City avait une réduction de 80% sur (certains) disques externes, et j'ai eu deux disques de 250 Go pour un prix très bas. D'après mon expérience, Western Digital a des disques de très haute qualité (ce qui signifie qu'ils durent éternellement). Cela les rend parfaits pour une sauvegarde. Si vous devez vous embêter à sauvegarder quelque chose, vous ne voulez pas que votre support de sauvegarde vous fasse chier. OK, tout comme mon autre article, j'utiliserai FreeBSD®; cependant, la plupart des choses que je vais couvrir peuvent être faites dans n'importe quelle version de Linux, Unix ou BSD. Clés USB 2.0. FreeBSD 5.4-STABLE n'a pas le pilote EHCI (essentiellement ce qui vous donne l'USB 2.0) activé par défaut. C'est une solution facile, même si certains pourraient penser que la recompilation du noyau est effrayante (ce n'est pas le cas). Si vous êtes du genre trop prudent, je vous recommande de faire une sauvegarde AVANT de recompiler votre noyau. L'USB 2.0 n'est peut-être pas activé, mais l'USB 1.1 fonctionne toujours. C'est juste beaucoup plus lent. Pour activer EHCI, lisez cette page du manuel. Vous devrez probablement aussi vous référer à cette section du Manuel qui explique comment recompiler réellement le noyau. Si vous utilisez un lecteur externe, ou même un lecteur interne, vous devrez monter le lecteur avant de pouvoir l'utiliser. Cela se fait avec la commande `mount` et est assez simple. Voici la page de manuel de mount. Si mount se plaint de ne pas pouvoir déterminer le type de système de fichiers, vous devrez probablement formater le lecteur. Pour ce faire, vous aurez besoin de connaître le bon appareil à formater. Pour moi, c'était /dev/da0, mais pour vous, c'est peut-être différent. Consultez la documentation de votre distribution. Après avoir déterminé à quel périphérique votre disque dur externe est connecté, vous devrez effectuer le formatage réel du lecteur (enfin, la partition). Si vous avez besoin d'aide pour partitionner votre disque, demandez-moi simplement. FreeBSD utilise mkfs pour créer des systèmes de fichiers sur des partitions. Tout type de système de fichiers fonctionnera, mais j'ai choisi d'utiliser UFS car c'est ce que FreeBSD utilise par défaut. FAT32 est probablement le plus compatible avec les autres systèmes d'exploitation, et Ext3 est ce que la plupart des versions de Linux utilisent de nos jours (ou du moins la dernière fois que j'ai utilisé Linux). J'ai donc utilisé cette commande pour monter mon lecteur: mount -t ufs /dev /da0 /backupOK, vous devriez avoir votre support de sauvegarde prêt à l'emploi. Sinon, demandez simplement:) Passez à l'étape 2. La marque FreeBSD est une marque déposée de The FreeBSD Foundation et est utilisée par John Syrinek avec l'autorisation de The FreeBSD Foundation.
Étape 2: Faites un « vidage »
Sauvons nos affaires. Il y a quelques façons de le faire. Dump et Tar sont probablement les deux plus courants, et les deux ont leurs propres forces et faiblesses. Dump est de loin le moyen le plus fiable de sauvegarder votre système; cependant, il ne peut sauvegarder que des partitions entières. Tar est rapide et facile à utiliser sur des dossiers individuels, mais il faut un certain temps pour sauvegarder des volumes plus importants. Tar compresse également les fichiers, ajoutant une couche de complexité pour potentiellement corrompre vos sauvegardes. Lisez cette page pour plus d'informations. J'ai décidé d'utiliser dump en raison de sa fiabilité. L'espace de stockage n'était pas un problème, et comme j'ai cron qui effectue des sauvegardes pour moi automatiquement pendant que je dors, je n'ai pas à me soucier des délais. L'une des bizarreries de dump est qu'il sauvegarde des partitions entières. Cela signifie que vous devez vider chaque partition individuellement (par exemple, les partitions /usr, /var et /tmp, ainsi que la partition /). Dump vous permet également de spécifier le "niveau" de sauvegarde. Je vais effectuer des sauvegardes hebdomadaires et nocturnes. Pour mes sauvegardes hebdomadaires, j'utilise le niveau 0, et pour mes sauvegardes nocturnes, j'utilise le niveau 2. Si vous utilisez un lecteur de bande ou si vous souhaitez économiser de l'espace de stockage, envisagez d'utiliser un schéma de sauvegarde de la tour de Hanoi (Google it (Rappelez-vous, /backup est l'endroit où mon disque dur externe est monté) Les commandes que j'ai utilisées pour les vidages hebdomadaires sont:
- dump -0Lna -C 100 -f /backup/weekly/root /
- dump -0Lna -C 100 -f /backup/weekly/usr /usr
- dump -0Lna -C 100 -f /backup/weekly/var /var
- dump -0Lna -C 100 -f /sauvegarde/hebdomadaire/tmp /tmp
Les commandes que j'ai utilisées pour les vidages nocturnes sont:
- dump -2Lna -C 100 -f /backup/nightly/root /
- dump -2Lna -C 100 -f /backup/nightly/usr /usr
- dump -2Lna -C 100 -f /backup/nightly/var /var
- dump -2Lna -C 100 -f /backup/nightly/tmp /tmp
J'ai en fait utilisé la commande `date` pour nommer mes fichiers, mais j'ai omis cela pour des raisons de simplicité. Un dump utilisant la commande `date` ressemblerait à ceci:dump -0Lna -C 100 -f /backup/weekly/usr/`date "+%Y-%B-%d"` /usrBien sûr, vous aurez besoin pour créer tous les répertoires de destination de sauvegarde appropriés avant d'exécuter la commande dump, mais vous devriez pouvoir le comprendre. Et maintenant, vous devriez avoir un instantané de votre système, ou au moins savoir comment en créer un. La prochaine étape est de savoir comment utiliser la restauration et comment faire des disquettes "fixit". NE SAUTEZ PAS CETTE ÉTAPE ou vous perdez votre temps.
Étape 3: « restaurer »
Cela fait un moment que je n'ai pas eu à restaurer une sauvegarde, alors soyez indulgents avec moi.
Pour restaurer une sauvegarde, vous devez disposer d'une sorte de système d'exploitation minimal pour transférer la sauvegarde de votre support de sauvegarde vers la machine en direct, une machine LIVE (par exemple, aucun matériel défectueux) et vos sauvegardes elles-mêmes. Pour le système d'exploitation minimal, j'utilise le même CD que j'ai utilisé pour installer FreeBSD. Sysinstall dispose d'un mode "Fixit" pour restaurer les sauvegardes. Si vous disposez d'un matériel non standard, vous devrez peut-être créer votre propre disque de démarrage personnalisé. Cela ne sera pas couvert dans cet article, mais cela consiste essentiellement à créer un noyau barebone et à le placer sur un disque amorçable. Remarque: Un noyau FreeBSD 5.4 TRÈS minimal fait environ 2,3 Mo, ce qui signifie qu'il ne tiendra pas sur une seule disquette. Donc, en gros, si le caca frappe le ventilateur (ger ger ger), vous démarrez à partir de votre CD, entrez en mode "Fixit", montez votre disque dur, puis exécutez la commande de restauration. Je pense que vous devez monter et démonter les partitions que vous restaurez une par une. De plus, vos tables de partitions doivent être propres, ce qui signifie que vous devrez peut-être utiliser `bsdlabel` pour réparer vos partitions. Commande de restauration: (après avoir monté une partition propre et changé dans le répertoire de la partition de destination) restore vrf /dev/da0 Veuillez noter qu'il est possible de restaurer des parties (fichiers ou répertoires individuels) des sauvegardes créées à l'aide de dump si vous en avez besoin.
Étape 4: Sauvegardes à distance
Les sauvegardes à distance peuvent être effectuées à l'aide de rdump, scp ou d'un logiciel personnalisé. La plupart des sociétés d'hébergement fournissent (moyennant des frais) des sauvegardes nocturnes. Je le recommande FORTEMENT si vous appréciez vos données. J'ai eu deux serveurs dédiés qui m'ont fait chier par deux hôtes différents. Bien que ces sauvegardes soient généralement stockées sur un lecteur séparé, elles se trouvent généralement dans le même bâtiment, donc si quelque chose arrive au bâtiment (ce qui est peu probable, mais certainement possible), alors vous êtes SOL. C'est pourquoi je vous recommande de faire votre propre sauvegarde hors site (par rapport au système en cours de sauvegarde) ainsi que des sauvegardes locales nocturnes. Veuillez noter que j'ai dû ajouter l'extension.txt pour télécharger le script (vous pouvez la supprimer). Étant donné que la société qui héberge ma machine distante effectue des sauvegardes `tar` nocturnes, j'ai décidé de copier ces fichiers sur une machine locale une fois par nuit. base. J'ai écrit un script shell basé sur PHP (parce que c'est ce que je sais) qui synchronise essentiellement les fichiers de sauvegarde d'un système distant avec une copie locale. Il télécharge de nouveaux fichiers, (éventuellement) télécharge à nouveau les fichiers de sauvegarde qui présentent des différences dans la taille des fichiers et supprime les copies locales qui n'existent pas sur le système distant. Cela permet d'économiser de la bande passante, du temps et de l'espace de stockage. Il s'agit essentiellement d'un wrapper `diff` pour `scp`. La source se trouve en bas de cette page. Si vous l'utilisez, assurez-vous de le chmoder pour avoir l'autorisation d'exécution (chmod u=+rx fetchbackups). Je recommande à l'utilisateur de l'opérateur d'exécuter ce script (chown operator fetchbackups). Les méthodes alternatives de sauvegarde à distance incluent l'utilisation de `scp` sur un répertoire entier, l'utilisation de `rdump` ou, comme l'a souligné clievers, l'utilisation de `rsnapshot` ou `backuppc`. Si vous n'avez pas d'accès root à votre serveur distant, certaines de ces méthodes peuvent ne pas être possibles et `scp` nécessite souvent beaucoup de temps et de bande passante.
Étape 5: Automatisation
Vous avez donc décidé de faire un instantané de votre système, et maintenant vous voulez le faire tous les soirs. Cron fonctionne très bien pour cela, et c'est assez simple à configurer.
Les tâches Cron sont simplement des commandes exécutées régulièrement. Ils peuvent fonctionner tous les mois, tous les soirs ou même à 7h30 le lundi matin. Les tâches cron sont spécifiées dans le fichier crontab. Dans FreeBSD, ce fichier se trouve dans /etc/crontab. Consultez les pages de manuel de /etc/crontab pour comprendre comment cela fonctionne. J'ai attaché mon crontab à cette page (supprimez l'extension.txt). Tout ce que vous faites est d'ajouter vos tâches cron et d'enregistrer le fichier. Le fichier est réévalué toutes les minutes, vous avez donc terminé.
Étape 6: Conclusion et réflexions finales
J'espère que vous avez réussi à sauvegarder votre (vos) machine(s). Ce qui suit ne sont que quelques notes sur le sujet.
Si vous êtes sérieux au sujet des sauvegardes, alors TEST TEST TEST. Assurez-vous que vos procédures de sauvegarde et de restauration sont sans faille. Les sauvegardes que vous ne pouvez pas restaurer ne valent rien. Un problème que j'ai rencontré était de définir une taille de cache trop grande. Cela peut (essentiellement) DoS votre système et le faire geler. Votre cache doit toujours représenter une fraction de votre RAM pour être efficace (le mien est un cinquième) et ne doit JAMAIS dépasser la taille de votre espace d'échange. 32 Mo est ce que la page de manuel de dump recommande. Bien que ces informations puissent être obsolètes, avoir une grande taille de cache ne fera pas beaucoup de différence si vous avez toute la nuit pour sauvegarder votre système. Si vous avez automatisé vos sauvegardes, assurez-vous qu'elles fonctionnent. Ce serait un véritable cauchemar pour votre système de planter et de se rendre ensuite compte que vos crons de sauvegarde ont cessé de fonctionner il y a 6 mois en raison d'un espace disque insuffisant. Les tâches Cron automatisent simplement le processus de "complaisance". Si vous effectuez des sauvegardes manuellement, ne devenez pas complaisant et n'oubliez pas. Faites-en une routine. Ne comptez pas non plus sur les tâches cron, car elles peuvent échouer. Les sauvegardes ne sont que des copies de vos fichiers. Cela signifie que les sauvegardes doivent être sécurisées aussi bien, sinon mieux, que vos systèmes actifs. Gardez votre disque dur externe dans un endroit sûr (par exemple, loin de l'eau ET des cambrioleurs). Exécutez des tâches cron de sauvegarde en tant qu'utilisateur « opérateur ». Il s'agit d'un compte limité qui existe pour des choses comme celle-ci. Assurez-vous également que les utilisateurs normaux ne peuvent pas exécuter de sauvegardes. Si vous pensez que vous pourriez être la cible d'une attaque sophistiquée (ou même si ce n'est pas le cas), cryptez toujours les données transférées lors des sauvegardes à distance. En raison de la quantité d'informations, ainsi que de la régularité des sauvegardes (si vous utilisez des tâches cron), les pirates peuvent prendre leur temps pour voler vos informations. Le cryptage est facile, alors utilisez-le. Assurez-vous que les utilisateurs normaux ne peuvent pas exécuter de sauvegardes sur leurs propres appareils. De plus, `scp` requiert une authentification. Je recommande FORTEMENT les clés publiques/privées pré-partagées. Vous ne voulez pas que votre mot de passe soit transmis à chaque fois qu'une sauvegarde est exécutée.